Im letzten Beitrag haben wir uns mit dem Ursprung digitaler Zeichen, dem ASCII-Code, beschäftigt. ASCII war großartig, doch der Platz von 128 Zeichen war für die Sprachen der Welt viel zu gering.
Heute wollen wir über das große Versprechen sprechen, das die Grenzen von ASCII überwindet und alle Zeichen der Welt integriert, darunter Hangul, Kanji, Arabisch und Emojis: Unicode.
In den frühen Tagen des Internets kam es häufig vor, dass man beim Zugriff auf Websites anderer Länder einen Bildschirm voller □-Symbole sah, weil die Zeichen zerbrochen waren. Dies bezeichnet man als 'Mojibake' Phänomen.
Der Grund war einfach. Jedes Land und jede Sprachgemeinschaft verwendete unterschiedliche Zeichencodierungen. Selbst bei identischen binären Daten interpretierte ein Computer „Das ist Koreanisch“ und ein anderer „Das ist Westeuropäisch“.
Um dieses digitale Babel zu beruhigen, kam der Retter Unicode.

1. Was ist Unicode?
Unicode ist die Abkürzung für „Universal Code“ und ein internationaler Standard, der jedem Zeichen der Welt eine einzigartige Nummer (Code Point) zuweist.
Während ASCII von 0 bis 127 nummerierte, hat Unicode diesen Bereich praktisch unendlich erweitert. Derzeit sind über 140.000 Zeichen in Unicode registriert, darunter nicht nur aktuelle Sprachen, sondern auch alte Schriftsysteme, musikalische Symbole und die Emojis, die wir täglich verwenden.
Code Point
Unicode verwaltet jedes Zeichen mit einer hexadezimalen Nummer, die mit U+ beginnt.
-
Lateinisches Zeichen 'A': $U+0041$ (entspricht dem ASCII-Code)
-
Hangul '가': $U+AC00$
-
Kanji '日': $U+65E5$
-
Emoji '😀': $U+1F600$
Jetzt kann jeder Computer auf der ganzen Welt, wenn er das Signal $U+1F600$ erhält, unabhängig von den Spracheinstellungen das gleiche lachende Gesicht (😀) assoziieren.
2. Ist Unicode dasselbe wie UTF-8?
Viele Menschen sind in dieser Hinsicht verwirrt. „Unicode“ und das gängige „UTF-8“ sind nicht dasselbe. Das Verständnis dieser Beziehung ist der Schlüssel zu diesem Text.
-
Unicode: Eine 'Karte (Map)', die Zeichen und Zahlen verbindet. (Abstraktes Versprechen)
-
UTF-8 (Encoding): Eine 'Verpackungsmethode (Method)', die diese Zahlen tatsächlich im Computerspeicher speichert.
Wenn Unicode ein 'Katalog' ist, der jeder Ware eine ID-Nummer zuweist, dann ist UTF-8 die 'Technik', die notwendig ist, um diese Waren in Kisten für den Transport zu verpacken.
3. Warum wurde UTF-8 zum Standard?
Es gibt verschiedene Methoden (Codierungen), um die Unicode-Zeichen im Computer zu speichern, wie UTF-16 oder UTF-32. Doch mehr als 98 % des aktuellen Webs verwenden UTF-8.
UTF-8 gewann wegen der genialen Effizienz
'variabler Länge', da der Speicherplatz (Byte) je nach Art des Zeichens unterschiedlich zugewiesen wird.
| Zeichenart | Beispiel | Unicode-Nummer | UTF-8-Speichergröße | Eigenschaften |
|---|---|---|---|---|
| Basis-Latein | A | $U+0041$ | 1 Byte | 100 % kompatibel mit ASCII-Code |
| Mittlere Osten/Europäische Sprachen | Ω, ¶ | $U+03A9$ | 2 Bytes | Latein-Erweiterung, Griechisch usw. |
| CJK (Chinesisch, Japanisch, Koreanisch) | 한, 中, あ | $U+D55C$ | 3 Bytes | Die meisten asiatischen Zeichen |
| Emoji/Antike | 🚀 | $U+1F680$ | 4 Bytes | Zeichen, die über die Fläche hinausgehen |
Vorteile von UTF-8
-
ASCII-Kompatibilität: Beim Speichern englischer Dokumente haben sie die gleiche Größe wie ASCII-Code. Vollständig mit bestehenden Systemen kompatibel.
-
Effizienz: Häufig verwendete englische Buchstaben/Zahlen werden kurz mit 1 Byte und komplexe Zeichen länger gespeichert, um den Gesamtspeicher zu optimieren.
4. Worauf Entwickler bei Unicode achten sollten
Im Gegensatz zu Zeiten, in denen Zeichen nur 1 Byte (ASCII) umfassten, muss man im Unicode-Umfeld darauf achten, die „Länge von Zeichenfolgen“ korrekt zu berechnen.
-
Aus Sicht des Speichers (Byte): 'A' zählt als 1, '한' zählt als 3.
-
Aus Sicht der Zeichen: 'A' ist 1 Zeichen, '한' ist ebenfalls 1 Zeichen.
Wenn man in der alten Art und Weise Zeichenfolgen schneidet oder speichert, kann es aufgrund von mehrbyteigen Zeichen (wie Koreanisch oder Kanji) vorkommen, dass Teile abgeschnitten werden und die Daten beschädigt werden. Daher beinhalten moderne Programmiersprachen standardmäßig Bibliotheken, die die Verarbeitung von Unicode automatisch unterstützen.
Zusammenfassung
-
Unicode: Ein internationaler Standard, der jeder Sprache der Welt eine einzigartige Nummer (Code Point) zuweist.
-
Ziel: Vereinheitlichung von Codierungsformaten, die in verschiedenen Sprachgemeinschaften verwendet werden, um Zeichenzerstörung (Mojibake) zu beheben.
-
UTF-8: Die effizienteste Art, Unicode zu speichern. Englisch wird mit 1 Byte, Koreanisch/Chinesisch/Japanisch mit 3 Bytes variabel gespeichert.
Unicode ist mehr als ein einfacher technischer Standard; es ist die inklusive Infrastruktur des digitalen Zeitalters, die es der ganzen Welt ermöglicht, Informationen ohne Sprachbarrieren auszutauschen.
🚀 Vorschau auf den nächsten Artikel
Da wir nun wissen, wie Texte gespeichert werden (Codierung), ist es an der Zeit, die intelligentere Handhabung von Daten zu lernen. „Wie werden Bilder in 0 und 1 gespeichert?“ Wir werden die Prinzipien von Pixeln, Auflösung und RGB-Farben auf einfache Weise erklären.
👇 Empfohlene Artikel
Wenn Ihnen der Artikel gefallen hat, abonnieren Sie, um keine weiteren Geschichten über IT-Technologien zu verpassen!
Es sind keine Kommentare vorhanden.