Begriffe vorab
- Zeichensatz: Menge von Zeichen, die jeweils eine Nummer erhalten.
- Codepoint: Die Nummer eines Zeichens in Unicode, geschrieben als U+…
- Zeichenkodierung: Vorschrift, wie Codepoints als Bytes gespeichert werden.
- ASCII: Alter Zeichensatz mit 128 Zeichen.
- UTF-8: Variable Kodierung für Unicode mit 1 bis 4 Bytes pro Zeichen.
Das Problem
Computer kennen nur Zahlen. Damit Text gespeichert und übertragen werden kann, muss jedes Zeichen eine Nummer erhalten (Zeichensatz) und diese Nummer muss als Bytes dargestellt werden (Kodierung). Früher gab es viele nationale Lösungen, die sich nicht miteinander vertrugen – deshalb erschienen deutsche Umlaute auf fremden Systemen als falsche Zeichen („Mojibake“).
ASCII und Unicode
ASCII umfasst 128 Zeichen mit 7-Bit-Nummern: Buchstaben ohne Umlaute, Ziffern, Satzzeichen und Steuerzeichen. Unicode ordnet Zeichen aller Schriften Nummern (Codepoints) zu, etwa U+0041 für „A“ und U+00E4 für „ä“.
UTF-8
UTF-8 ist die im Web verbreitetste Kodierung. Sie wurde im November 2003 in RFC 3629 festgelegt und kann alle gültigen Unicode-Codepoints (1.112.064 Stück) mit einem bis vier Bytes darstellen. Das Besondere: Die Zeichen U+0000 bis U+007F (also ASCII) werden mit einem Byte und identisch zur ASCII-Kodierung gespeichert. Reiner ASCII-Text ist deshalb zugleich gültiger UTF-8-Text.
Zeichen Codepoint UTF-8 (hex) Bytes
A U+0041 41 1
ä U+00E4 C3 A4 2
€ U+20AC E2 82 AC 3
😀 U+1F600 F0 9F 98 80 4
Typische Fehler
- Falsch gelesene Kodierung: Ein UTF-8-Text wird als ISO-8859-1 interpretiert: „ä“ erscheint als „ä“.
- Zeichen gleich Byte annehmen: In UTF-8 ist die Länge in Bytes nicht die Länge in Zeichen.
- Fehlende Angabe: Webseiten, Datenbanken und Dateien sollten ihre Kodierung ausdrücklich nennen.
Beispiel: Ein Webformular
Ein Nutzer gibt „Müller“ in ein Formular ein. Der Browser sendet UTF-8, der Server liest es als UTF-8, die Datenbank speichert es als UTF-8. Gibt eine Station falsch an, wie gelesen wird, entsteht „Müller“. Das Prinzip „an jeder Schicht dieselbe Vereinbarung“ ist ein Vorgeschmack auf Schichtenmodelle.
Lege für ein Projekt eine einzige Kodierung fest – UTF-8 – und nenne sie überall ausdrücklich.
Zum Selbermachen
- Öffne eine Textdatei mit einem Hex-Editor und finde die Bytes für „ä“.
- Speichere einen Text mit Umlauten einmal als UTF-8 und einmal als ISO-8859-1 und öffne beide mit falscher Einstellung.
Verwandte Themen
Daten → „Information, Bit und Zahlensysteme“. Webentwicklung → WordPress speichert Inhalte in Datenbanken; falsche Kodierungen führen dort zu typischen Darstellungsfehlern.
Prüfstatus: Belegt (Stand 1. Oktober 2026): UTF-8 nach RFC 3629 (November 2003), 1 bis 4 Bytes, 1.112.064 gültige Codepoints und die Gleichheit von ASCII und UTF-8 für U+0000 bis U+007F wurden gegen RFC-Verzeichnisse und Fachquellen geprüft. Nicht einzeln belegt: die Beispielbytes (nachrechenbar nach der UTF-8-Regel), die Angabe „128 Zeichen“ für ASCII (Allgemeinwissen, hier nicht gegen die Norm geprüft) und die Fehlerbilder (typische Praxis).
Quellen
- IETF – RFC 3629 „UTF-8, a transformation format of ISO 10646“ (November 2003)
- Unicode Consortium – „The Unicode Standard“ (unicode.org)