Unicode

Aus FI-Wiki

Unicode ist ein internationaler Standard zur Darstellung von Schriftzeichen aus nahezu allen Sprachen der Welt. Er ordnet jedem Zeichen einen eindeutigen Codepunkt zu, unabhängig von Sprache, Schrift oder Plattform.

Codepoints

Jedes Zeichen erhält einen eindeutigen Wert (Codepoint) in der Form: U+xxxx Beispiel:

  • A → U+0041
  • € → U+20AC
  • 😊 → U+1F60A

UTF-8

UTF-8 ist die heute wichtigste Unicode-Kodierung.

Eigenschaften:

  • variable Länge: 1 bis 4 Byte pro Zeichen
  • ASCII-kompatibel (0–127 bleiben gleich)
  • platzsparend für westliche Sprachen
  • weltweiter Standard für Web, Dateien, Protokolle
Unicode-Codepunkt-Bereich Byte-Länge in UTF-8 Beispiel
U+0000 – U+007F 1 Byte A → U+0041
U+0080 – U+07FF 2 Byte ä → U+00E4
U+0800 – U+FFFF 3 Byte € → U+20AC
U+10000 – U+10FFFF 4 Byte 😊 → U+1F60A

UTF-16 und UTF-32

Neben UTF-8 gibt es weitere Möglichkeiten, Unicode-Zeichen in Bytes zu kodieren.

UTF-16

UTF-16 verwendet je nach Zeichen 2 oder 4 Byte.

  • häufige Zeichen benötigen 2 Byte
  • Zeichen außerhalb der sogenannten Basic Multilingual Plane (BMP) benötigen 4 Byte
  • wird unter anderem intern in Java und in Teilen von Windows verwendet
  • für viele nicht-lateinische Schriften teilweise platzsparender als UTF-8

Vorteile:

  • viele Unicode-Zeichen benötigen nur 2 Byte
  • weit verbreitet in bestehenden Softwaresystemen

Nachteile:

  • variable Länge von 2 oder 4 Byte
  • nicht ASCII-kompatibel
  • für Texte mit vielen ASCII-Zeichen meist größer als UTF-8

UTF-32

UTF-32 verwendet für jeden Unicode-Codepoint immer 4 Byte.

  • feste Länge von 4 Byte
  • dadurch einfache Verarbeitung und Berechnung von Zeichenpositionen
  • wird vor allem intern in bestimmten Programmen und Bibliotheken verwendet

Vorteile:

  • feste Länge erleichtert die Verarbeitung
  • direkter Zugriff auf einzelne Codepoints

Nachteile:

  • hoher Speicherbedarf
  • für normale Textdateien und Webseiten ineffizient
  • deutlich weniger verbreitet als UTF-8 und UTF-16
Kodierung Byte pro Codepoint Vorteil Nachteil
UTF-8 1–4 Byte platzsparend, ASCII-kompatibel variable Länge
UTF-16 2 oder 4 Byte viele Zeichen mit 2 Byte nicht ASCII-kompatibel
UTF-32 4 Byte einfache Verarbeitung hoher Speicherbedarf

Vorteile von Unicode

  • unterstützt alle Sprachen (Deutsch, Arabisch, Chinesisch, Emojis usw.)
  • einheitlicher Standard weltweit
  • löst Probleme älterer Systeme (ASCII, ISO-8859-1)

Kurzmerksatz

Unicode weist jedem Zeichen weltweit einen eindeutigen Codepunkt zu und UTF-8 speichert ihn effizient in Bytes.