That's not my name
BĂ¥rd Aase - BSIDES LV:PasswordsCon 2024
That's not my name
# BSIDES LV 2024 - BÃĨrd Aase
They call me BŒrd.
They call me BÃ¥rd.
They call me B�rd.
That's not my name.
That's not my name.
That's not my name.
They call me Ose.
They call me Asse.
They call me Aas.
That's not my name.
That's not my name.
That's not my name.
# BSIDES LV 2024 - Bård Aase
My name is Bård
Bård Aase / @elzapp
- Platform Engineer @ DNB


# BSIDES LV 2024 - B├¸rd Aase
My name is Bård
Bård Aase / @elzapp
- Platform Engineer @ DNB
- Bergen Linux User Group

# BSIDES LV 2024 - Bård Aase
My name is Bård
Bård Aase / @elzapp
- Platform Engineer @ DNB
- Bergen Linux User Group
- Family

# BSIDES LV 2024 - BΓ₯rd Aase
My name is Bård
Bård Aase / @elzapp
- Platform Engineer @ DNB
- Bergen Linux User Group
- Family
- Geek

B S I D E S
BSIDES [01000010 01010011 01001001 01000100 01000101 01010011] ISO-8859-15
[01000010 01010011 01001001 01000100 01000101 01010011] Windows Codepage 1252
[01000010 01010011 01001001 01000100 01000101 01010011] Macintosh
[01000010 01010011 01001001 01000100 01000101 01010011] UTF-8
Binary ASCII
# BSIDES LV 2024 - B├ąrd Aase
b å r d
bård [01100010 ________ 01110010 01100100] ASCII (brd) ❌
[01100010 11100101 01110010 01100100] ISO-8859-15
[01100010 11100101 01110010 01100100] Windows Codepage 1252
[01100010 10001100 01110010 01100100] Macintosh
[01100010 11000011 10100101 01110010 01100100] UTF-8
Binary "Western languages"
# BSIDES LV 2024 - B├Цrd Aase
b å r d
bård [62 __ 72 64] ASCII (brd) ❌
[62 E5 72 64] ISO-8859-15
[62 E5 72 64] Windows Codepage 1252
[62 8C 72 64] Macintosh
[62 C3 A5 72 64] UTF-8
Hex Latin
# BSIDES LV 2024 - BƄrd Aase
Character encoding
# BSIDES LV 2024 - Bård Aase
65 | A |
66 | B |
67 | C |
68 | D |
69 | E |
70 | F |
71 | G |
72 | H |
73 | I |
74 | J |
75 | K |
76 | L |
77 | M |
78 | N |
79 | O |
80 | P |
81 | Q |
82 | R |
83 | S |
84 | T |
85 | U |
86 | V |
87 | W |
88 | X |
89 | Y |
90 | Z |
91 | [ |
92 | \ |
93 | ] |
94 | ^ |
95 | _ |
96 | ` |
*decimal codepoints from UNICODE
Numbers and stuff
# BSIDES LV 2024 - BƄrd Aase
48 | 0 |
49 | 1 |
50 | 2 |
51 | 3 |
52 | 4 |
53 | 5 |
54 | 6 |
55 | 7 |
56 | 8 |
57 | 9 |
58 | : |
59 | ; |
60 | < |
61 | = |
62 | > |
63 | ? |
*decimal codepoints from UNICODE
ASCII
US-ASCII
1963
EBCDIC
Used in IBM mainframes
Incompatible with ASCII
and itself
1963
ISO-646
NS-4551-1
ISO-646
IEC-646
ECMA-6
1967
ISO-IR-197
Proposed revision to ISO-8859-1 to add support for Sámi
1996
ISO-8859-1
Western
IEC-8859-1
Windows-1252*
1987
ISO-8859-15
IEC-8859-15
Adds €
1999
# BSIDES LV 2024 - âCvÊÀ /ËÁ
NON-UNICODE
# BSIDES LV 2024 - BУЅrd Aase
æ | æ | æ | æ |
ø | ø | ø | ø |
å | å | å | å |
& | & | & | & |
HTML Entities
Hello Bård!

# BƄrd Aase - BSIDES LV 2024
UNICODE v1
1991
UTF-8
1993
Netscape
1994
using Windows-1252
HTML5
2008
Standardizing on Windows-1252
UNICODE v2
1996
EMOJIs
Unicode v6
2011
# BSIDES LV 2024 - BĂĄrd Aase
UNICODE
# BSIDES LV 2024 - BĂĄrd Aase

259*
*https://www.iana.org/assignments/character-sets
Azure Devops

# BSIDES LV 2024 - BƄrd Aase
The Kebab receipt

# BSIDES LV 2024 - Bц╔rd Aase
Stored as UTF-8
Bård
BÃ¥rd
Read as if it was
ISO-8859-1
or CP1252
# BSIDES LV 2024 - BΓ¥rd Aase

# BSIDES LV 2024 - Bård Aase
# BSIDES LV 2024 - Bård Aase
Bård
Stored as UTF-8
66 C3 A5 72 64
Bård
Bård
Read as Mac Roman
66 C3 A5 72 64
66 E2 88 9A E2 80 A2 72 64
Bård
# BSIDES LV 2024 - BĂĽrd Aase


# BSIDES LV 2024 - BĂĽrd Aase
B†rd
# BSIDES LV 2024 - Bรฅrd Aase
# BSIDES LV 2024 - BƄrd Aase
7_ | 8_ | 9_ | |
_0 | p | € | |
_1 | q | ‘ | |
_2 | r | ‚ | ’ |
_3 | s | ƒ | “ |
_4 | t | „ | ” |
_5 | u | … | • |
_6 | v | † | – |
_7 | w | ‡ | — |
_8 | x | ˆ | ˜ |
_9 | y | ‰ | ™ |
_A | z | Š | š |
_B | { | ‹ | › |
_C | | | Œ | œ |
_D | } | ||
_E | ~ | Ž | ž |
_F | ␡ | Ÿ |
CP-1252
Windows-1252
7_ | 8_ | 9_ | |
_0 | p | ||
_1 | q | ||
_2 | r | ||
_3 | s | ||
_4 | t | ||
_5 | u | ||
_6 | v | ||
_7 | w | ||
_8 | x | ||
_9 | y | ||
_A | z | ||
_B | { | ||
_C | | | ||
_D | } | ||
_E | ~ | ||
_F |
ISO-8859-1
B†rd
0x86 → †
7_ | 8_ | 9_ | |
_0 | p | Ç | É |
_1 | q | ü | æ |
_2 | r | é | Æ |
_3 | s | â | ô |
_4 | t | ä | ö |
_5 | u | à | ò |
_6 | v | å | û |
_7 | w | ç | ù |
_8 | x | ê | ÿ |
_9 | y | ë | Ö |
_A | z | è | Ü |
_B | { | ï | ø |
_C | | | î | £ |
_D | } | ì | Ø |
_E | ~ | Ä | × |
_F | ⌂ | Å | ƒ |
CP-850
DOS-850
# BSIDES LV 2024 - BÄrd Aase

# BSIDES LV 2024 - Bård Aase
Bård
Stored as UTF-8
66 C3 A5 72 64
Bård
Bård
Read as Mac Roman
66 C3 A5 72 64
Stored as UTF-8
66 E2 88 9A E2 80 A2 72 64
Bård
Bård
Read as CP-1252
66 E2 88 9A E2 80 A2 72 64
66 C3 A2 CB 86 C5 A1 C3 A2 E2 82 AC C2 A2 72 64
Bård
# BSIDES LV 2024 - Bård Aase
Bård
Bård
Bård
Bård
Bård
breaks
breaks
fixes?
fixes
# BSIDES LV 2024 - Bård Aase
Bård
Bård
BÃ¥rd
Bård
B�rd
keeps
breaks
fixes
breaks
# BSIDES LV 2024 - Bฤ�๏ฟฝrd Aase

# BSIDES LV 2024 - Bård Aase
Bård
Stored as UTF-8
66 C3 A5 72 64
Bård
BÃ¥rd
Read as CP-1252
66 C3 A5 72 64
Stored as UTF-8
66 C3 83 C2 A5 72 64
BÃ¥rd
BÃ¥rd
Read as CP-1252
66 C3 83 C2 A5 72 64
66 C3 83 C6 92 C3 82 C2 A5 72 64
BÃ¥rd
# BSIDES LV 2024 - B�rd Aase

Multibyte characters
# BSIDES LV 2024 - BФ�т��rd Aase
💩
# BSIDES LV 2024 - BÄrd Aase
🐈 🐈⬛ 🐈 🐈⬛ 🐈 🐈⬛ 🐈 🐈⬛
Æ Ø Å
Ä Ö Å
# BSIDES LV 2024 - B�rd Aase
Å
# BSIDES LV 2024 - BÄrd Aase
Capital letter Å - 197
11000011 10000101
0xC3 0x85
A + ◌̊ = Å
# BSIDES LV 2024 - Brd Aase
Capital letter A - 65
10000001
0x41
Combining ring above - 778
11001100 10001010
0xCC 0x8A
Å
Capital letter Å - 197
11000011 10000101
0xC3 0x85
Capital Letter A with Ring Above
10000001 11001100 10001010
0x41 0xCC 0x8A
Å
# BSIDES LV 2024 - Brd Aase
Ångström
11100010 10000010 10101011
0xE2 0x84 0xAB
A + ◌̊ = Å
Capital letter A - 65
10000001
0x41
Combining ring above - 778
11001100 10001010
0xCC 0x8A
Capital Letter A with Ring Above
10000001 11001100 10001010
0x41 0xCC 0x8A
Å
Capital letter Å - 197
11000011 10000101
0xC3 0x85
Plain text
# BSIDES LV 2024 - B�rd Aase
BOM
# BSIDES LV 2024 - Brd Aase
UTF-16 (UCS-2) Byte order mark
11111111 11111110 - 0xFFFE Big endian
11111110 11111111 - 0xFEFF Little endian
UTF-16 / UCS-2
▮the quick brown fox jumps over the lazy dog
ŷ
# BSIDES LV 2024 - BΨ£οΏ½rd Aase
ISO-8859-14
Resources
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
by Joel Spolsky
-
The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)
by Niki Tonsky
-
IANA List of known Character sets
-
And more
# BSIDES LV 2024 - BƒЖпњљƒАвАЮrd Aase
http://bit.ly/bsideslv24-plaintext

# BSIDES LV 2024 - Bård Aase
Thanks!
Bård Aase
🐘 @elzapp@mastodon.cloud
📧 elzapp@elzapp.com
🦋@elzapp.bsky.social
linkedin.com/in/bardaase/
http://bit.ly/bsideslv24-plaintext


BSIDES: That's not my name
By Bård Aase
BSIDES: That's not my name
- 135