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
67
Featured
See All Featured
Side Projects
sachag
455
43k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Why Our Code Smells
bkeepers
PRO
339
57k
How STYLIGHT went responsive
nonsquared
100
5.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
4 Signs Your Business is Dying
shpigford
185
22k
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