UTF-8 und Zeichenkodierung
Kurz: Eine Zeichenkodierung legt fest, wie Buchstaben als Bytes gespeichert werden. UTF-8 ist die heute übliche Kodierung und kann alle Unicode-Zeichen darstellen.
Genauer: Computer speichern nur Zahlen. Unicode gibt jedem Zeichen eine Nummer (Codepoint), UTF-8 beschreibt, wie diese Nummer in 1 bis 4 Bytes verpackt wird. ASCII-Zeichen brauchen nur 1 Byte, Umlaute 2, viele Emojis 4.
Im Detail
- Rückwärtskompatibel: Reiner ASCII-Text ist automatisch gültiges UTF-8.
- Mojibake: Falsche Dekodierung führt zu Zeichensalat wie „ä” statt „ä”.
- Länge:
"ä".lengthzählt je nach Sprache Zeichen, Bytes oder Code-Einheiten. Bei Emojis weichen diese Zahlen voneinander ab. - Im Web:
<meta charset="utf-8">und der HTTP-HeaderContent-Type: text/html; charset=utf-8setzen. - Datenbanken: Spalten mit
utf8mb4(MySQL) speichern auch Emojis vollständig. - BOM: Ein unsichtbares Byte-Order-Mark am Dateianfang ist bei UTF-8 unnötig und stört manchmal.
Siehe auch: Endianness (Byte-Reihenfolge)