Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Character Encodings
Search
Alex Wheeler
November 15, 2017
0
120
Character Encodings
Alex Wheeler
November 15, 2017
Tweet
Share
More Decks by Alex Wheeler
See All by Alex Wheeler
Running Rings Around Rack
alexwheeler
0
84
Golang Concurrency
alexwheeler
0
88
Rewriting Rack: A Functional Approach
alexwheeler
2
140
Man Computer Symbiosis
alexwheeler
0
120
Flipper
alexwheeler
0
130
Transducers
alexwheeler
0
66
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Scaling GitHub
holman
463
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Speed Design
sergeychernyshev
32
1.1k
Faster Mobile Websites
deanohume
309
31k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
Counting Systems Why your Emojis Work on Twitter, but not
Tinder
None
The Beginning
Unary Numbers • I • II • IIIII • IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
Romans
Romans
None
Why don’t we just use unique symbols? • Glyph -
any symbol used to represent some value • 1 2 3 4 5 6 7 8 9
None
Modern Counting Systems
Decimal • Latin decimus - tenth • 0 1 2
3 4 5 6 7 8 9
Positional Notation • way of encoding numbers • each position
related to the next by a constant multiplier called the base or radix • base 10
None
None
None
None
None
Binary • Latin binarius - consisting of two • Base
2
None
None
None
Bits and Bytes • Bit - The basic unit of
information in computing • i.e. 0 • Byte - unit of digital information consisting of 8 bits • i.e. 1000 0101
None
Hexadecimal • Greek hex - sixth; decimal - tenth •
base 16
base 16 • 0 1 2 3 4 5 6
7 8 9 A B C D E F
• 10 = ? • A • 255 = ?
• FF
So…what about the computers?
ASCII • American Standard Code for Information Interchange • 0-127
characters • 7 bits
None
Unicode • computing industry standard for encoding, representation, and text
expressed in most of the world’s writing systems • code points in range 0 -10FFFF
None
Hexadecimal Code Points • U+0061 = 97 = a •
U+005A = 122 = z • U+1F4A9 = 128169 = ?
UTF-8 • variable-width character encoding • capable of encoding all
unicode characters • backwards compatible with ASCII
• http://play.golang.org/p/PvVhLj_5kM • http://play.golang.org/p/pO97Yf5w-z
Thanks • @askwheeler • github.com/alexwheeler • alexwheeler.io