Unicode: Unterschied zwischen den Versionen
Aus FI-Wiki
Keine Bearbeitungszusammenfassung |
|||
| Zeile 32: | Zeile 32: | ||
== UTF-16 und UTF-32 == | == 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 | |||
{| class="wikitable" style="text-align:center; width:100%;" | {| class="wikitable" style="text-align:center; width:100%;" | ||
! Kodierung !! | ! Kodierung !! Byte pro Codepoint !! Vorteil !! Nachteil | ||
|- | |- | ||
| UTF- | | UTF-8 || 1–4 Byte || platzsparend, ASCII-kompatibel || variable Länge | ||
|- | |- | ||
| UTF-32 || 4 Byte | | UTF-16 || 2 oder 4 Byte || viele Zeichen mit 2 Byte || nicht ASCII-kompatibel | ||
|- | |||
| UTF-32 || 4 Byte || einfache Verarbeitung || hoher Speicherbedarf | |||
|} | |} | ||
Version vom 31. August 2026, 12:35 Uhr
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.
