Skip to content
ASCII World

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.

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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 article

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