How 128 ASCII codes grew into a system that encodes every writing system on Earth
ASCII (American Standard Code for Information Interchange) was designed for teletype machines — mechanical typewriters connected by telephone lines. It defines 128 characters using 7 bits: 0-31 are control codes (carriage return, line feed, bell), 32-126 are printable characters (space, A-Z, 0-9, punctuation), and 127 is DELETE. The 8th bit was originally used for error checking (parity). ASCII solved a critical problem: before it, every computer manufacturer had their own character encoding, and text from one machine was gibberish on another.
ASCII's limitation was obvious from the start: 128 characters is not enough for anything beyond English. No accented letters (é, ñ, ü). No non-Latin scripts (Chinese, Arabic, Cyrillic). As computers spread globally in the 1980s, every country created their own 8-bit extensions — ISO-8859-1 for Western Europe, Shift-JIS for Japan, KOI8-R for Russia. Same binary values meant different characters depending on which encoding was active. This was chaos.
Unicode solves the chaos with a single, universal mapping: every character from every writing system gets a unique number called a code point. U+0041 = 'A' (Latin), U+4E2D = '中' (Chinese), U+0627 = 'ا' (Arabic), U+1F600 = '😀' (emoji). Unicode currently defines over 140,000 characters and has room for over 1 million. Unicode is not a binary encoding — it is an abstract mapping of characters to numbers. UTF-8, UTF-16, and UTF-32 are the actual binary encodings that implement Unicode.
UTF-8 is a variable-length encoding that uses 1 to 4 bytes per character. Characters 0-127 (ASCII) use 1 byte — making UTF-8 100% backward-compatible with ASCII. Characters 128-2047 use 2 bytes. Characters from most world scripts use 3 bytes. Emoji and rare characters use 4 bytes. This design is brilliant: existing ASCII text is automatically valid UTF-8. English text uses 1 byte per character (efficient). Non-English text uses what it needs. No configuration, no encoding detection, no BOM markers required. By 2026, over 98% of all websites use UTF-8. It is the closest thing the internet has to a universal standard.
Try encoding text to binary with our free binary translator — it uses UTF-8 encoding to handle text in any language.