Was ist Unicode: Vollständige Anleitung, Verwendung und Kodierungen

Letzte Aktualisierung: August 20 2025
  • Unicode weist jedem Zeichen einen eindeutigen Codepunkt zu und synchronisiert sein Repertoire mit ISO/IEC 10646.
  • UTF-8, UTF-16 und UTF-32 kodieren dieselben Zeichen und ermöglichen eine verlustfreie Konvertierung.
  • Normalisierungs-, Bidi- und UCD-Eigenschaften gewährleisten einen konsistenten Vergleich, eine konsistente Anordnung und ein konsistentes Rendering.
  • Die Einführung von Unicode (im Web vorzugsweise UTF-8) verhindert Beschädigungen und erleichtert die Internationalisierung.

Allgemeine Illustration zu Unicode

Unicode ist die gemeinsame Sprache, die Computer bei der Textverarbeitung verwenden.: weist jedem Zeichen und Symbol in fast jedem Schriftsystem eine eindeutige Nummer zu, sodass sie plattform- und länderübergreifend gespeichert, verarbeitet und nahtlos geteilt werden können.

Dieser Standard entstand, um die Einschränkungen alter Zeichensätze zu überwinden (der ASCII-Satz, Codepages, EBCDIC usw.), die kurz oder untereinander inkompatibel waren, und ist heute mit ISO/IEC 10646 synchronisiert, verwaltet Algorithmen (wie z. B. bidirektional) und definiert Eigenschaften und Normalisierungsregeln, damit alles kohärent funktioniert.

Was ist Unicode und warum ist es so wichtig?

Unicode ist ein universeller und sich ständig weiterentwickelnder Zeichenkodierungsstandard. die jedes Zeichen mit einem Namen, einem Codepunkt und einer Reihe von Eigenschaften (Schrift, Kategorie, Richtung, Groß-/Kleinschreibung usw.) beschreibt. Das Unicode Technical Committee (UTC) innerhalb des Unicode-Konsortiums sorgt für die Synchronisierung mit dem ISO/IEC 10646-Standard..

Ihr Ziel ist Universalität, Einheitlichkeit und Einzigartigkeit: ein breites Repertoire, das einen eindeutigen Austausch mehrsprachiger Texte mit klaren und reproduzierbaren Regeln ermöglicht. Dank dieser Technologie können moderne Technologien (Betriebssysteme, Browser, XML, Java, Datenbanken) lateinische und arabische Schriftzeichen, CJK-Ideogramme, Emojis sowie technische und musikalische Symbole im selben Dokument mischen..

Zeichen, Glyphen und Codepunkte

In Unicode ist ein Zeichen eine abstrakte Informationseinheit und ein Codepunkt ist ihre numerische Kennung.. ein Glyph ist die visuelle Form (was Sie auf dem Bildschirm sehen), die von der Schriftart abhängtEin einzelnes Zeichen kann mehrere Glyphen haben und manchmal stellt eine Glyphe mehr als ein Zeichen dar.

Die übliche Notation für einen Codepunkt ist U+XXXX im HexadezimalformatIllustrative Beispiele des analysierten Materials: Das kleine „l“ ist U+006C, das vorkomponierte kleine „ü“ ist U+00FC, das „é“ ist U+00E9 und das griechische Beta: der Großbuchstabe ist U+0392 und der Kleinbuchstabe U+03B2 (in einigen Texten wird „β“ mit U+0392 zitiert, aber dieser Code entspricht dem Großbuchstaben „Β“).

Der Unicode-Coderaum hat 1.114.112 mögliche Positionen (bis zu U+10FFFF), organisiert, um alle Schriftsysteme und Symbole abzudecken und zu klassifizieren, mit Zehntausenden von effektiven und wachsenden Aufgaben in jeder Version.

Pläne, Flächen und Blöcke

Unicode unterteilt seinen Raum in 17 Ebenen mit jeweils bis zu 65.536 Codepunkten.Diese Organisation erleichtert das Gruppieren verwandter Schriften und Symbole und ermöglicht das schnelle Auffinden der gesuchten Elemente.

Die wichtigsten PläneDer Basic Multilingual Plan (BMP, Plan 0) enthält fast alle modernen Schriften und viele Symbole; der Supplementary Multilingual Plan (SMP, Plan 1) enthält historische Schriften und technische Symbole (z. B. musikalische und mathematische); der Supplementary Ideographic Plan (SIP, Plan 2) erweitert die CJK-Ideogramme; Plan 14 (SSP) enthält spezielle Beschriftungen; und die Pläne 15 und 16 sind für den privaten Gebrauch bestimmt.

Blöcke und Bereiche: Die Pläne sind informell in Bereiche und formal in zusammenhängende Blöcke unterteilt. Die Blöcke dienen zur Tabellierung und Dokumentation von Zeichen, obwohl sie nicht immer sinnvollen linguistischen Gruppierungen entsprechen.

  10 faszinierende Fakten darüber, was Primzahlen sind

CJK-Ideogramme und das Unihan-Projekt

Ostasiatische (Han) Ideogramme sind in Unicode vereinheitlicht, mit stilistischen Variationen je nach Region, bezieht sich aber auf dieselbe abstrakte Natur. Es wird von der Ideographic Rapporteur Group (IRG) verwaltet, einer Gruppe von ISO/IEC JTC1/SC2/WG2-Vertretern aus China, Japan, Korea, Vietnam, Hongkong, Macau, Singapur, den Vereinigten Staaten und anderen Ländern.

Die Unihan-Datenbank Es sammelt zusätzliche Informationen (Lesungen, Bedeutungen, Äquivalenzen), die für die Verwaltung dieser Ideogramme in verschiedenen Sprachen und historischen oder Unternehmensstandards unerlässlich sind.

Haupt-CJK-Blöcke und -Erweiterungen:

  • Vereinheitlichte CJK-Ideogramme (BMP, U+4E00–U+9FFF): 20.992 häufig verwendete Zeichen.
  • Erweiterung A (BMP, U+3400–U+4DBF): 6.592 weniger häufige Ideogramme.
  • B–H-Erweiterungen: in SMP/SIP/TIP summieren sie sich auf Zehntausende mehr (B: U+20000–U+2A6DF, 42.720; C: U+2A700–U+2B73F, 4.154; D: U+2B740–U+2B81F, 222; E: U+2B820–U+2CEAF, 5.762; F: U+2CEB0–U+2EBEF, 7.473; G: U+30000–U+3134F, 4.939;
  • Andere verwandte CJK-Blöcke: Kangxi-Radikale (U+2F00–U+2FDF), CJK-Symbole und -Satzzeichen (U+3000–U+303F), Kompatibilität und Kompatibilitätsformate, Ergänzung zum Kompatibilitätsideogramm usw.

Unicode prognostiziert, dass die Einbindung von Ideogrammen kein absolutes Ende haben wird und erwägt Mechanismen wie ideografische Beschreibungssequenzen, um nicht codierte Symbole darzustellen, indem sie in vorhandene Komponenten zerlegt werden (mit Vorsicht: ohne kanonische Zerlegung oder Garantien bei Vorgängen wie Suchen oder Sortieren).

Kodierungsformen: UTF-8, UTF-16 und UTF-32

Unicode definiert Transformationsformen (UTF), die Codepunkte in Speichereinheiten umwandeln. damit die Software den Text entsprechend seinem Kontext effizient verarbeiten kann.

UTF-8 Es ist längenvariabel, byteorientiert und ASCII-kompatibel im Bereich U+0000–U+007F in einem einzigen Byte. Der aktuelle Standard verwendet 1 bis 4 Bytes pro Zeichen; einige ältere Texte erwähnen 1–6, modernes Unicode verwendet jedoch 1–4. Es ist das vorherrschende Format im Web.

UTF-16 verwendet 16-Bit-Einheiten

(eine oder zwei Codeeinheiten pro Zeichen): Die meisten BMP-Zeichen passen auf eine einzelne Einheit; zusätzliche Zeichen verwenden Ersatzpaare im Bereich U+D800–U+DFFF.

UTF-32 Die Länge ist fest: 4 Bytes pro Zeichen, einfach, aber platzraubend; nützlich, wenn die direkte Zeichenindizierung wichtig ist und der Speicher kein Problem darstellt.

Wie Bits in UTF-8 verteilt sind

Das UTF-8-Format verteilt die Codepunktbits in Sequenzen von 1 bis 4 Bytes. mit erkennbaren Überschriften, wodurch Mehrdeutigkeiten vermieden und Zeichengrenzen leichter erkannt werden können.

Unicode-Bereich Bitmuster Bytes
U+0000..U+007F 0xxxxxx 1
U+0080..U+07FF 110yyyyy 10xxxxxx 2
U+0800..U+FFFF 1110zzzz 10yyyyyy 10xxxxxx 3
U+010000..U+10FFFF 11110uuu 10uuuzzzz 10yyyyyy 10xxxxxx 4

Ein wesentlicher Vorteil von UTF-8 besteht darin, dass es Probleme mit der Byte-Reihenfolge (Endianness) vermeidet. und ermöglicht die Verarbeitung von Textströmen mit hoher Effizienz und ist zudem abwärtskompatibel mit ASCII.

Kodierungsschemata, Byte-Reihenfolge und BOM

Zusätzlich zu UTF-Formen beschreibt Unicode Serialisierungsschemata. die klären, wie Bytes zwischen Systemen mit unterschiedlicher Byte-Reihenfolge übertragen werden und wie Aspekte wie die Byte-Reihenfolge signalisiert werden.

  • UTF-8: Byte-Reihenfolge ist nicht anwendbar. Es kann durchgeführt werden Byte-Reihenfolge-Markierung (BOM) als Hinweis, obwohl dies standardmäßig weder erforderlich noch empfohlen wird.
  • UTF-16: BE/LE-Varianten (Big/Little-Endian) und optionales BOM (falls fehlend und nicht durch das Protokoll definiert, wird Big-Endian angenommen).
  • UTF-32: BE/LE-Varianten mit analogen Regeln; BOM als Bestellzeichen zulässig.
  Was sind Hilfswissenschaften in der modernen Forschung?

Es gibt auch spezifische Varianten wie UTF-16BE/UTF-16LE und UTF-32BE/UTF-32LE (konventionell ohne BOM) und andere historisch kompatible Kodierungen wie UTF-7 oder UTF-EBCDIC sowie GB18030 (chinesisches Äquivalent von UTF-8 mit Unterstützung für vereinfachtes und traditionelles Chinesisch).

Normalisierung, Zusammensetzung und Äquivalenzen

Viele Zeichen können als Präkomposite oder als Kombination von Basis- und Markierungssequenzen dargestellt werden.. Klassische Beispiele des überarbeiteten Materials: Das vorkomponierte „Ä“ ist U+00C4, während die zerlegte Form „A“ (U+0041) + Trema (U+0308) ist. Das vietnamesische „ỗ“ kann als „o“ (U+006F) + Zirkumflex (U+0302) + Tilde (U+0303) dargestellt werden.

Unicode definiert standardisierte Formen und zwei Arten von Äquivalenz: kanonisch (gleicher wesentlicher Inhalt) und Kompatibilität (Formen, die gleich aussehen können, aber semantische Unterschiede aufweisen). Durch die Normalisierung werden zuverlässige Zeichenfolgenvergleiche gewährleistet und Duplikate reduziert..

Bidirektionaler Algorithmus und Sonderzeichen

Für von rechts nach links geschriebene Schriften wie Arabisch oder Hebräisch enthält Unicode einen bidirektionalen Algorithmus. (Bidi) standardisiert und weiterentwickelt (z. B. Überarbeitungen in 6.3), sodass gemischte lateinische und arabische Texte in der richtigen visuellen Reihenfolge wiedergegeben werden.

Codepunktklassen, die Sie kennen sollten abhängig vom empfangenen Material: grafische Zeichen (Buchstaben, Zeichen, Symbole), Formatierungszeichen (unsichtbar, aber die Verarbeitung beeinflussend: U+2028 Zeilenumbruch, U+2029 Absatzumbruch, U+00A0 Hartraum), aus Kompatibilitätsgründen übernommene Steuercodes (Bereiche U+0000–U+001F, U+007F, U+0080–U+009F), private Verwendung, reservierte Positionen, Ersatzzeichen (U+D800–U+DFFF für UTF-16) und Nicht-Zeichen (U+FFFE, U+FFFF auf jeder Ebene).

Unicode, ISO/IEC 10646 und andere Standards (ASCII, ANSI, Codepages)

Unicode ist mit ISO/IEC 10646 (UCS) synchronisiert und behält die Zuordnungen zu früheren Standards bei (ASCII, ISO 8859-1, ANSI Z39.64, JIS X 0208, KS X 1001, GB 2312, GB 18030, HKSCS, CNS 11643 usw.) und reserviert darüber hinaus Räume zur privaten Nutzung für Hersteller.

ASCII vs. Unicode: ASCII ist ein 7-Bit-Satz mit 128 Zeichen., genug für einfaches Englisch, aber unzureichend für Sprachen mit diakritischen Zeichen, Ideogrammen oder Emojis. Unicode umfasst über 140.000 Zeichen und es werden immer mehr, mit 8/16/32-Bit-Kodierung im UTF-Format.

ANSI und Codepages: „ANSI“ bezieht sich typischerweise auf eingeschränkte und untereinander inkompatible 8-Bit-Windows-Codepages. Ein Computer, der OEM-Latin II-Anfangstext in IBM EBCDIC-Kyrillisch ausführt, erkennt falsche Zeichen. Unicode überwindet dieses Problem durch ein einzigartiges Repertoire und verlustfreie Konvertierungen zwischen seinen eigenen Formen.

Implementierung auf Systemen (Windows, Solaris) und Konvertierung

Windows verwendet intern UTF-16 für seine modernen APIs und bietet Funktionen wie MultiByteToWideChar y WideCharToMultiByte zur Konvertierung zwischen Unicode und Codepages (SBCS/DBCS/MBCS). Wenn Sie gezwungen sind, in eine Codepage zu konvertieren, kann es zu Verlusten kommen wenn es nicht alle Zeichen darstellen kann.

Neue Anwendungen unter Windows sollten intern UTF-16 verwenden und überlassen Sie die Konvertierung den Rändern (E/A, Protokolle), um Beschädigungen zu minimieren. Dennoch behält Windows die Codepage-Unterstützung bei, wenn dies unvermeidbar ist..

Oracle Solaris 11 unterstützt laut der überarbeiteten Dokumentation Unicode 6.0 und ISO/IEC 10646:2011 auf Systemebene, indem UTF-8 als Standardformat in seinen Parametersätzen verwendet wird, wodurch Probleme mit der Bytereihenfolge vermieden und ASCII transparent beibehalten wird.

Unicode in der Praxis: Web, Dokumente und Programmierung

Im Web ist es üblich, Inhalte in UTF-8 bereitzustellen und zu speichern.. In HTML deklarieren Sie ' ', um die Kompatibilität sicherzustellen, und verwendet bei Bedarf hexadezimale numerische Einheiten (Beispiel: der Euro „€“).

  So führen Sie Skripte auf Android aus: Eine vollständige Anleitung für alle Ebenen

In Word können Sie Unicode-Symbole einfügen Einfach durch Platzieren des Cursors, Auswählen von Einfügen > Symbol oder Eingeben des Codes und Drücken von Alt+X; dadurch wird der Wert gemäß den üblichen Empfehlungen in sein Zeichen umgewandelt. Siehe auch Liste der Alt-Codes um Symbole über die Tastatur einzufügen.

In ProgrammiersprachenIn Python 3 sind Zeichenfolgen nun Unicode; in Java und C# können Sie „\uXXXX“-Escapezeichen verwenden; in HTML „&#xXXXX;“. Wichtig ist, dass beim Bearbeiten, Kompilieren und Übertragen dieselbe Kodierung verwendet wird, um Fehler zu vermeiden.

Das Kopieren und Einfügen von Symbolen funktioniert, wenn die gesamte Zeichenfolge in Unicode vorliegt.Wenn Teile eine andere Kodierung verwenden, können Fragezeichen, Kästchen oder seltsame Symbole erscheinen.

Zeichendatenbank (UCD), Eigenschaften und Kategorien

Die Unicode-Zeichendatenbank (UCD) veröffentlicht für jeden Codepunkt dessen Namen, Kategorie, Skript, Groß-/Kleinschreibung, Richtung und andere Merkmale.Diese Informationen sind für die ordnungsgemäße Funktion der Rendering- und Textverarbeitungs-Engines von entscheidender Bedeutung.

Dank dieser Eigenschaften, können verschiedene Komponenten und Algorithmen (wie Sortierung, Wortsegmentierung oder Groß-/Kleinschreibung) bei denselben Daten konsistentes Verhalten zeigen.

Versionen und Erweiterungen des Standards: Highlights

Unicode wächst mit jeder Version, mit neuen Schriften, Symbolen und Emojis. Zu den Highlights zählen die Hauptversion 1.0 aus dem Jahr 1991 mit 7.161 Zeichen und nachfolgende Erweiterungen, die Tausende neuer Symbole, Ideogramme, Emojis und Schriften hinzugefügt haben.

Zum Beispiel im Jahr 2022, Version 15.0 fügte 4.192 zusätzliche CJK-Zeichen und andere Elemente hinzu und erreichte damit ungefähr 149.186-Zeichen.

Tools zum Erkunden der Unicode-Tabelle

Es gibt kostenlose Dienstprogramme zum Suchen und Analysieren von Zeichen: Mit Unibook Character Browser, SYMBL und Branah.com können Sie Eigenschaften, Namen und Zeichenblöcke abfragen, sodass Entwickler und Inhaltsersteller schnell und einfach die benötigten Informationen finden können.

Anwendungsfälle: Adressformulare, Internationalisierung und Business

Benutzern erlauben, Adressen in ihrer Sprache und Schrift einzugeben Dies trägt zur Reduzierung von Fehlern und zur Verbesserung des Erlebnisses bei. Die Unicode-Interoperabilität verhindert außerdem Probleme bei der Konvertierung zwischen verschiedenen Systemen und gewährleistet die Textintegrität in der gesamten digitalen Kette.

Aus diesem Grund ist Unicode das grundlegende Element, das garantiert, dass der Text in der gesamten digitalen Infrastruktur endgültig bleibt., von Webformularen über Datenbanksysteme bis hin zu gedruckten Dokumenten, unabhängig davon, ob Sie „ñ“, Arabisch, Chinesisch oder Emojis im selben Satz verwenden.

Binäre Nummerierung
Verwandte Artikel:
Binäre Zahlen: Die Geheimsprache der Computer