ASCII covers 128 characters. Unicode covers every writing system. Here is what changed, why UTF-8 matters, and when the difference bites.
The short version
Start here if you only have one minute. The full guide below explains each point.
ASCII holds 128 characters
Enough for English and nothing else.
Unicode holds every script
Room for over a million characters.
UTF-8 is the storage method
It keeps ASCII text byte-identical.
01
What ASCII is
ASCII assigns a number to 128 characters: the English alphabet in both cases, the digits, common punctuation and some control codes.
It was designed when memory was scarce and seven bits per character was a meaningful saving. For English text it worked well enough to last decades.
- 128 characters in total
- English letters, digits and basic punctuation
- Still the first 128 code points of Unicode
02
Why it stopped being enough
ASCII has no accented letters, no Greek, no Cyrillic, no Chinese and almost no symbols. Every country invented its own extension to cope.
Those extensions disagreed with each other. The same byte meant different characters in different places, so text broke the moment it crossed a border.
03
What Unicode changed
Unicode gives one number to every character, with room for 1,114,112 of them. Just under 160,000 are currently assigned.
Crucially it kept ASCII as its first 128 values, unchanged. Plain English text is identical in both, which is the only reason the transition was practical.
04
Where UTF-8 fits in
Unicode says which number a character has. UTF-8 says how to store that number as bytes. They answer different questions and are routinely confused.
UTF-8 uses one byte for ASCII characters and two to four for everything else. An English file is therefore the same size in both, which is why UTF-8 won the web.
✦Unicode is the list of characters. UTF-8 is one way of writing that list down. Neither replaces the other.
05
When the difference bites
Anything built for ASCII will mangle text outside it. That is behind question marks in a CSV, garbled accents in an old database and stripped symbols in a form field.
The fix is UTF-8 at every step, and re-copying the text from a source that still holds it correctly. Once a character has been replaced, it is gone.
06
What it means for symbols
Almost every decorative symbol lives outside ASCII. That is precisely why they need Unicode and why they break in systems that predate it.
If a symbol must survive an old pipeline, an ASCII character is the only guaranteed choice.
The same characters in both standards
How four characters are stored. ASCII simply has no value for anything past its 128.
| Character | ASCII | Unicode | UTF-8 bytes |
|---|---|---|---|
| A | 65 | U+0041 | 41 |
| é | not available | U+00E9 | C3 A9 |
| ★ | not available | U+2605 | E2 98 85 |
| 😀 | not available | U+1F600 | F0 9F 98 80 |
The letter A is one byte in both. That backward compatibility is the reason UTF-8 could replace ASCII without breaking a single existing English file.
07
Copy the symbols discussed in this guide
This guide explains the topic. Use extended latin letter symbols for the main copyable set, compare it with technical symbols, and browse punctuation symbols for another useful angle. Each collection includes searchable Unicode names and HTML references.
08
Questions, answered
Is ASCII part of Unicode?+
Yes. The first 128 Unicode code points are ASCII with the same numbers, which is why plain English text is byte-identical in both.
Is UTF-8 the same as Unicode?+
No. Unicode assigns numbers to characters; UTF-8 is one method of storing those numbers as bytes.
Why do accents turn into strange characters?+
The text was written as UTF-8 and read as an older single-byte encoding, so each byte was interpreted as a separate character.
09
Sources and review notes
Reviewed against Unicode terminology for characters, code points, glyphs, sequences and presentation behavior.
