Tools
Extended sets, side by side
“Extended ASCII” was never one standard: the same byte means different things in each set. Here are three common ones.
Bytes 0x80–0xFF
Outlined: differs from ISO-8859-1, whose bytes 0x80–0xFF are Unicode U+0080–U+00FF. Each cell links to that byte’s page.
Recognising mojibake
Mojibake is text decoded with the wrong character set. The commonest kind is UTF-8 read as Windows-1252 or ISO-8859-1. UTF-8 writes every non-ASCII character as two to four bytes, all of them 0x80 or above, and a single-byte set shows each of those bytes as a character of its own.
| Intended | UTF-8 bytes | Read as Windows-1252 | Read as code page 437 |
|---|---|---|---|
| ’ | E2 80 99 | ’ | ΓÇÖ |
| “ | E2 80 9C | “ | ΓÇ£ |
| — | E2 80 94 | — | ΓÇö |
| … | E2 80 A6 | … | ΓǪ |
| € | E2 82 AC | € | Γé¼ |
| é | C3 A9 | é | ├⌐ |
| ü | C3 BC | ü | ├╝ |
- à or  plus one more character is a two-byte UTF-8 character, such as an accented letter: é becomes
é. - †plus one more character is a three-byte UTF-8 character, usually punctuation from a word processor (curly quotes, dashes, the ellipsis): ’ becomes
’. - � (U+FFFD, the replacement character) is usually the opposite mistake: Windows-1252 or ISO-8859-1 text read as UTF-8, where bytes that are not valid UTF-8 were replaced.
Fix it where the text was decoded, by reading the original bytes with the right set. Search-and-replace on the damaged text only fixes the characters you think of.