unicode utf8 gbk encodings shift-jis web-dev

Ein Leitfaden für Anfänger zu Zeichenkodierungen und Unicode

Schluss mit Zeichensalat. Verstehen Sie UTF-8, UTF-16, GBK und Shift-JIS sowie die Bedeutung des Byte Order Mark (BOM).

2026-04-11

Zeichenkodierungen und Unicode: Der definitive Leitfaden zu UTF-8, UTF-16 und mehr

In den frühen Tagen der Informatik war die Darstellung von Text einfach: Jedes Zeichen passte in 7 oder 8 Bit (ASCII). Doch als die Informatik global wurde, brauchten wir eine Möglichkeit, jedes Zeichen jeder Sprache der Welt darzustellen. Dies ist die Geschichte von Unicode und den Kodierungen, die ihn antreiben.

1. Der Unicode-Standard

Unicode ist selbst keine Kodierung, sondern ein universeller Zeichensatz. Er weist jedem Zeichen eine eindeutige Nummer zu, den sogenannten Code Point (z. B. U+0041 für 'A'). Wir benötigen jedoch immer noch eine Methode, um diese Nummern binär zu speichern.

UTF-8 (Der König des Web)

UTF-8 ist eine Kodierung mit variabler Breite, die 1 bis 4 Bytes pro Zeichen verwendet. Sie ist abwärtskompatibel zu ASCII.

  • Vorteile: Effizient für westliche Sprachen, robust gegen Datenkorruption und der universelle Standard für das Web.

UTF-16

Verwendet entweder 2 oder 4 Bytes. Es ist die native Kodierung für Windows (NTFS) und viele Programmierumgebungen wie Java und JavaScript.

UTF-32

Verwendet genau 4 Bytes für jedes Zeichen. Während es für die Indizierung einfach ist, ist es sehr speicherineffizient.


2. Veraltete und regionale Kodierungen

Bevor Unicode dominant wurde, verwendeten verschiedene Regionen ihre eigenen Standards, von denen viele auch heute noch anzutreffen sind.

Chinesische Kodierungen (GB-Familie)

  • GB2312: Der frühe Standard für vereinfachtes Chinesisch.
  • GBK: Eine Erweiterung von GB2312 zur Unterstützung weiterer Zeichen.
  • GB18030: Der aktuelle verbindliche Standard in China, der sowohl vereinfachtes als auch traditionelles Chinesisch unterstützt und vollständig auf Unicode abgebildet ist.

Japanische Kodierungen

  • Shift-JIS: Historisch gesehen die beliebteste Kodierung für Japanisch, die intensiv in Windows und auf älteren Websites verwendet wurde.

Koreanisch und traditionelles Chinesisch

  • EUC-KR: Eine verbreitete veraltete Kodierung für Koreanisch.
  • Big5: Der Standard für traditionelle chinesische Schriftzeichen, der hauptsächlich in Taiwan und Hongkong verwendet wird.

3. Westliche veraltete Kodierungen

ISO-8859-1 (Latin-1)

Eine 8-Bit-Kodierung, die die meisten westeuropäischen Sprachen abdeckt.

Windows-1252

Eine leichte Variation von ISO-8859-1, die in älteren Versionen von Windows standardmäßig verwendet wurde.


4. Technische Nuancen: BOM und Endianness

Byte Order Mark (BOM)

Die BOM ist eine spezielle Byte-Folge am Anfang einer Textdatei (z. B. EF BB BF für UTF-8). Sie teilt der Software mit, welche Kodierung und Byte-Reihenfolge verwendet wird. Während sie für UTF-16 nützlich ist, wird sie für UTF-8 in Web-Umgebungen oft nicht empfohlen.

Little Endian vs. Big Endian

Relevant für UTF-16 und UTF-32; bezieht sich auf die Reihenfolge, in der Bytes im Speicher abgelegt werden.


Vergleichstabelle

Kodierung Bytes pro Zeichen Kompatibilität Bestens geeignet für
UTF-8 1-4 ASCII Web, Linux, Mac
UTF-16 2 oder 4 Keine Windows, Java, JS
GB18030 1, 2 oder 4 GBK Compliance (China)
ASCII 1 Universell Altsysteme, nur Englisch

Fazit

Die Welt hat sich weitgehend auf UTF-8 als Standard für den Datenaustausch geeinigt. Dennoch ist das Verständnis veralteter Kodierungen wie GBK oder Shift-JIS nach wie vor wichtig, wenn man mit Altsystemen oder spezifischer regionaler Software arbeitet. Im Zweifelsfall verwenden Sie für moderne Anwendungen immer UTF-8 ohne BOM.