Encoding Guides
Deep dives into how character encoding actually works - from the 1963 ASA publication through modern Unicode, plus practical guides on control characters, Punycode, and debugging encoding problems.
ASCII 1963 (X3.4-1963)
How the First 7-Bit Standard Defined 128 Characters
The X3.4-1963 standard was the first formal publication of ASCII, released by the American Standards Association (now ANSI) on June 17, 1963. It defined a...
Read articleHow ASCII Works
From Binary Numbers to Printable Characters
ASCII maps every letter, digit, and symbol to a number between 0 and 127. Computers store those numbers as binary, so ASCII is the bridge between the text you...
Read articleASCII Control Characters
All 33 Non-Printing Codes and What They Do
ASCII reserves 33 of its 128 positions for control characters: codes 0-31 and code 127. These characters carry no printable glyph. Instead, they send...
Read articleASCII and Unicode for Kids
How Computers Turn Letters into Numbers
Every letter you type on a keyboard becomes a number inside your computer. The letter A is 65. The letter B is 66. A space is 32. This number system is called...
Read articleCharacter Encoding History
From Baudot to ASCII to Unicode
Character encoding went from total chaos in the 1950s - every manufacturer inventing proprietary mappings - to ASCII in 1963, a patchwork of Extended ASCII...
Read articleASCII Art Tools and Techniques
Create Art from Text, Images, and Live Video
ASCII art turns text characters into images. The constraint is the medium: 95 printable characters, each occupying the same fixed-width cell. Within those...
Read articleASCII in Video Games
Text-Mode Graphics from Rogue to Dwarf Fortress
Before pixel art, there was character art. Early game developers used ASCII characters as graphics because their hardware had no framebuffer, only a text...
Read articlePunycode and Internationalized Domain Names
How Non-Latin URLs Work Over ASCII-Only DNS
Punycode converts Unicode domain names into ASCII-safe strings so the DNS can handle them. The domain munchen.de (with a u-umlaut) becomes xn--mnchen-3ya.de....
Read articleASCII in Python
ord(), chr(), Bytes, and Character Encoding
Python 3 draws a hard line between str (a sequence of Unicode code points) and bytes (a sequence of raw octets). Every ASCII operation sits on that boundary....
Read articleASCII in JavaScript
charCodeAt, codePointAt, and Text Encoding
JavaScript strings are UTF-16 internally, which means every character occupies at least 2 bytes in memory regardless of whether it falls in the ASCII range....
Read articleASCII in Java
char, int Casting, and Character Class Methods
Java's char type is a 16-bit unsigned integer that holds a UTF-16 code unit. Casting char to int yields the numeric code point directly, and for the 128 ASCII...
Read articleASCII and CHR Functions in SQL
Character Code Functions Across PostgreSQL, MySQL, SQL Server, and Oracle
Every major SQL database includes two functions for working with character codes: one that returns the integer code point for a character (ASCII() in all four...
Read articleHow UTF-8 Actually Works
Variable-Width Encoding from 1 to 4 Bytes
UTF-8 encodes every Unicode code point using one to four bytes, with a bit-level structure that makes the first 128 values identical to ASCII. Ken Thompson and...
Read articleFixing Mojibake
Why Text Turns to Garbage and How to Fix It
Mojibake (from Japanese "character" + "transform") is garbled text caused by decoding bytes with the wrong character encoding. The string "cafe" stored as...
Read articleMorse Code and ASCII
Two Encoding Systems Separated by 126 Years
Samuel Morse patented his telegraph code in 1837. The ASA published ASCII 126 years later in 1963. Both systems solve the same problem - encoding human...
Read article