Zeichenkodierung: von ASCII zu UTF-8

LektionInformatik: Daten & Kodierungca. 3 Min. Lesezeit

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

  1. Öffne eine Textdatei mit einem Hex-Editor und finde die Bytes für „ä“.
  2. 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)

Alles zu „Informatik: Daten & Kodierung“