Wikipedia · einfach zusammengefasst · Stand
Unicode
[ ˈjuːnikoːt]) legt fest, wie Schrift elektronisch gespeichert werden kann, z. B. auf einem Computer oder Telefon. Der durch den Standard festgelegte …
Inhalt6 Abschnitte
Grundidee und Bedeutung
Unicode ist ein internationaler Standard dafür, wie Schriftzeichen elektronisch gespeichert und verarbeitet werden, etwa auf Computern oder Telefonen. Der Zeichensatz umfasst in Version Unicode 17.0 insgesamt 159.801 Zeichen. Berücksichtigt werden moderne und historische Schriften, Symbole, Emojis und nicht druckbare Steuerzeichen. Der Artikel nennt dabei 168 berücksichtigte Schriften; die Übersicht zu Unicode 17.0 führt 172 Schriftsysteme auf.
Das Ziel von Unicode besteht darin, die vielen älteren, meist sprach- oder regionsbezogenen Zeichensätze in einem gemeinsamen System zusammenzuführen. Frühere Standards wie ASCII boten 128 Codepositionen, ISO 8859-1 beziehungsweise Latin-1 256 Positionen. Nach Abzug der Steuerzeichen konnten damit nur 95 beziehungsweise 191 Schrift- und Sonderzeichen gleichzeitig dargestellt werden. Das erschwerte den internationalen Datenaustausch, besonders in den 1980er und 1990er Jahren.
Unicode ordnet jedem abstrakten Zeichen eine Nummer, den Codepunkt, zu. Für die Speicherung im Computer werden diese Codepunkte in Folgen von Nullen und Einsen umgewandelt. Diese Verfahren heißen Unicode Transformation Formats (UTF). Besonders verbreitet ist UTF-8; UTF-16 wird unter anderem noch bei bestimmten Betriebssystemen und Programmiersprachen verwendet. Die ISO bezeichnet Unicode als ISO 10646 und den Zeichensatz als Universal Coded Character Set (UCS). Seit 1993 sind Unicode und ISO 10646 bei der Zeichenkodierung praktisch identisch, wobei Unicode zusätzlich zahlreiche Eigenschaften und Verarbeitungsregeln festlegt.
Entwicklung und Versionen
Der erste Entwurf eines universalen Zeichensatzes wurde 1988 von Joseph D. Becker von Xerox verfasst. Die ursprüngliche Planung sah einen 16-Bit-Zeichensatz vor, der zunächst vor allem moderne Sprachen mit weit weniger als 2^14 = 16.384 Zeichen erfassen sollte.
Unicode 1.0.0 erschien im Oktober 1991 und enthielt zunächst vor allem europäische, nahöstliche und indische Schriften. Unicode 1.0.1 folgte im Juni 1992 und nahm nach der Han-Vereinheitlichung erstmals ostasiatische Zeichen auf. Mit Unicode 2.0 im Juli 1996 wurde der mögliche Bereich von ursprünglich 65.536 auf 1.114.112 Codepunkte erweitert.
Die Zeichenzahl wuchs anschließend fortlaufend: Version 3.0 enthielt im September 1999 49.259 Zeichen, Version 5.0 im Juli 2006 99.089, Version 6.0 im Oktober 2010 109.242, Version 10.0 im Juni 2017 136.690 und Version 13.0 im März 2020 143.859 Zeichen. Unicode 14.0 vom September 2021 enthielt 144.697 Zeichen, Unicode 15.0 vom September 2022 149.186, Unicode 15.1 vom September 2023 149.813 und Unicode 16.0 vom September 2024 154.998 Zeichen. Unicode 17.0 wurde im September 2025 veröffentlicht und umfasst 159.801 Zeichen sowie 172 Schriftsysteme. Zu den neueren Ergänzungen gehören unter anderem historische Schriften, ägyptische Hieroglyphen, weitere CJK-Zeichen, Emojis und Zeichen aus historischen Computersätzen.
Neue Versionen erscheinen teilweise schrittweise: Zum Veröffentlichungszeitpunkt können zunächst Zeichentabellen und einzelne Spezifikationsteile vorliegen, während die endgültige Hauptspezifikation später veröffentlicht wird.
Aufbau, Codepunkte und Sonderbereiche
Der gesamte Unicode-Bereich ist in 17 Ebenen (Planes) gegliedert. Jede Ebene umfasst 2^16 = 65.536 Codepunkte. Der Bereich reicht von U+0000 bis U+10FFFF. Zusammengehörige Zeichen werden innerhalb der Ebenen in Blöcken (Blocks) organisiert, die häufig ein Schriftsystem enthalten. Durch spätere Ergänzungen und historische Entscheidungen sind manche Schriftsysteme jedoch auf mehrere Blöcke verteilt.
Die Plane 0 heißt Basic Multilingual Plane (BMP, Mehrsprachige Basis-Ebene). Sie enthält hauptsächlich aktuell verwendete Schriften, Satzzeichen, Symbole, Steuerzeichen, UTF-16-Surrogate und den privat nutzbaren Bereich. Die BMP ist weitgehend belegt; manche Programme unterstützen andere Ebenen noch nicht oder nur eingeschränkt.
Die Plane 1, Supplementary Multilingual Plane (SMP), wurde mit Unicode 3.1 eingeführt. Sie enthält vor allem historische Schriften, seltene Zeichensammlungen, Domino- und Mah-Jonggsteine sowie Emojis, inzwischen aber auch noch verwendete Schriften, die in der BMP keinen Platz finden. Die Plane 2, Supplementary Ideographic Plane (SIP), enthält seltene CJK-Schriftzeichen, darunter Chữ Nôm. Seit Unicode 15.1 werden weitere CJK-Zeichen in der Plane 3, Tertiary Ideographic Plane, codiert. Die Plane 14, Supplementary Special-purpose Plane (SSP), enthält wenige Steuerzeichen zur Sprachmarkierung. Die Planes 15 und 16 sind als Supplementary Private Use Area für private Zeichenreserviert.
Codepunkte werden gewöhnlich hexadezimal und mit vorangestelltem „U+“ geschrieben, mindestens vierstellig, gegebenenfalls mit führenden Nullen. Das Zeichen ß hat beispielsweise den Codepunkt U+00DF. Von den 1.114.112 möglichen Codepunkten sind 2048 im Bereich U+D800 bis U+DFFF für UTF-16-Surrogate reserviert. Weitere 66 Codepunkte, nämlich U+FDD0 bis U+FDEF sowie jeweils die letzten zwei Positionen jeder der 17 Ebenen, sind für interne Verwendungen reserviert. Damit stehen 1.111.998 Codepunkte grundsätzlich für Zeichenkodierungen zur Verfügung; tatsächlich zugewiesen ist aber nur ein deutlich kleinerer Teil.
Die Private Use Areas (PUA) dürfen dauerhaft privat vereinbarte Zeichen enthalten. In der BMP liegt dieser Bereich bei U+E000 bis U+F8FF, in anderen Ebenen bei U+F0000 bis U+FFFFD und U+100000 bis U+10FFFD. Die Bedeutung solcher Zeichen muss zwischen Erzeugern und Verwendern der Texte abgesprochen werden. Beispiele für Konventionen sind MUFI, SIL PUA, Languagegeek und ConScript.
Kodierung und Verarbeitung
UTF-16 speichert Codepunkte als Folgen von 16-Bit-Zahlen. Es wird unter anderem intern von Windows, OS X, Java und .NET verwendet. UTF-8 speichert sie als Folgen von 8-Bit-Zahlen, also Bytes, und ist in GNU/Linux, Unix, E-Mail und dem World Wide Web verbreitet. Punycode stellt Unicode-Codepunkte mit Zeichen aus a bis z, 0 bis 9 und dem Bindestrich dar und ermöglicht dadurch Domainnamen mit Nicht-ASCII-Zeichen. Weitere Formate sind das Standard Compression Scheme for Unicode, CESU-8 und GB 18030.
Bei der Normalisierung werden Kompatibilitätszeichen durch vorgesehene andere Zeichen oder Zeichensequenzen ersetzt. Ein Umlaut kann beispielsweise als Grundbuchstabe mit anschließendem kombinierendem Trema dargestellt werden. Die Normalisierung soll erreichen, dass für eine bestimmte Darstellung möglichst nur eine gültige Kombination verwendet wird und Unicode-Texte leichter verarbeitet werden können.
Die Reihenfolge der Codepunkte entspricht nicht grundsätzlich der üblichen alphabetischen Sortierung. Der Unicode Collation Algorithm beschreibt deshalb, wie Zeichenfolgen innerhalb eines Schriftsystems oder schriftsystemübergreifend sortiert werden können. Die konkrete Reihenfolge kann jedoch von der Sprache abhängen: Im Deutschen kann „ä“ je nach Anwendung wie „ae“ oder wie „a“ behandelt werden, während es im Schwedischen hinter „z“ und „å“ steht.
Unicode kodiert abstrakte Zeichen, nicht deren konkrete grafische Gestalt, die Glyphe. Verschiedene Schriftarten können dasselbe Zeichen sehr unterschiedlich darstellen. Positionsabhängige Formen und Ligaturen werden meist durch Smartfont-Techniken wie OpenType erzeugt. Für nachweislich notwendige Varianten sind 256 Variation Selectors vorgesehen. Haben gleiche Glyphen unterschiedliche Bedeutungen, erhalten sie verschiedene Codes, etwa bestimmte Zeichenformen, die im lateinischen, griechischen und kyrillischen Alphabet vorkommen.
Bei chinesischen, japanischen und koreanischen Zeichen (CJK) werden sprachspezifisch unterschiedliche Glyphen häufig unter denselben Codes zusammengefasst. Diese Han-Vereinheitlichung spart Codepunkte, ist besonders in Japan aber umstritten. Ältere Kodierungen wie ISO-8859-1, TIS-620 und ISCII wurden aus Gründen der Kompatibilität berücksichtigt. Unicode enthält außerdem unsichtbare oder nicht grafische Zeichen, darunter 19 ausdrücklich definierte Leerzeichen, bidirektionale Formatierungszeichen und den Combining Grapheme Joiner.
Normen und europäische Teilmenge
Das gemeinnützige Unicode-Konsortium wurde 1991 gegründet und ist für den Industriestandard Unicode verantwortlich. ISO gibt gemeinsam mit IEC die Norm ISO 10646 heraus. ISO 10646 legt im Wesentlichen die Zeichenkodierung fest; Unicode enthält darüber hinaus Eigenschaften (Properties) wie Sortierreihenfolge, Leserichtung und Regeln zum Kombinieren von Zeichen. Der Codeumfang beider Standards ist inzwischen exakt gleich und auf 17 Ebenen beziehungsweise 21 Bit begrenzt.
Ein einmal kodiertes Zeichen wird bei Unicode grundsätzlich nicht wieder entfernt. Das soll die langfristige Verwendbarkeit digitaler Daten sichern. Selbst wenn sich eine Aufnahme später als fehlerhaft erweist, wird höchstens von der Verwendung abgeraten. Deshalb kann die Prüfung eines neuen Zeichens Jahre dauern.
Die DIN 91379 definiert eine standardisierte Teilmenge von Unicode-Buchstaben, Sonderzeichen sowie Kombinationen aus Grundbuchstaben und diakritischen Zeichen. Sie soll die korrekte Darstellung von Namen und den Datenaustausch in Europa erleichtern. Unterstützt werden die Amtssprachen der Mitgliedstaaten der Europäischen Union, Islands, Liechtensteins, Norwegens und der Schweiz sowie deutsche Minderheitensprachen. Außerdem werden die für die Transliteration von Namen aus anderen Schriftsystemen in die lateinische Schrift erforderlichen Kombinationen bereitgestellt.
Eingabe, Schriften und Kritik
Unicode-Zeichen können je nach Betriebssystem oder Programm direkt über ihren Codepunkt eingegeben oder aus Zeichentabellen ausgewählt werden. Unter Windows können in bestimmten RichEdit-Feldern dezimale Angaben mit Alt und dem numerischen Tastenfeld eingegeben werden; bei Zahlen unter 1000 ist eine führende Null nötig, etwa Alt+0234 für ê. Nach Aktivierung von EnableHexNumpad in der Registry ist auch die Eingabe mit Alt, Plus und einem vierstelligen Hex-Code möglich. Zeichen oberhalb der BMP benötigen dabei UTF-16-Surrogate; der Violinschlüssel U+1D11E wird als D834 und DD1E eingegeben.
Unter macOS muss zunächst die „Unicode-Hex-Eingabe“ aktiviert werden. Mit gedrückter Option-Taste kann anschließend ein vierstelliger Hex-Code eingegeben werden. Fünfstellige Codes müssen über „Emoji & Symbol“ beziehungsweise die „Erweiterte Zeichenübersicht“ ausgewählt werden. Windows bietet hierfür die Zeichentabelle charmap.exe; macOS, gucharmap, kcharselect und BabelMap stellen ebenfalls grafische Zeichentabellen bereit.
In Microsoft Office ab Office XP und in LibreOffice kann ein Hex-Code eingegeben und mit Alt+c beziehungsweise Alt+x in ein Zeichen umgewandelt werden. GTK- und Qt-Programme unterstützen Eingaben mit Strg+U beziehungsweise Strg+Umschalt+u; nach dem Hex-Code wird die Eingabe mit der Leer- oder Eingabetaste abgeschlossen. In Vim wird Strg+v, danach u und der hexadezimale Code verwendet. HTML und XML erlauben dezimale Zeichenreferenzen wie � und hexadezimale wie �. HTML kennt zusätzlich benannte Entitäten wie ä.
Ob ein Zeichen sichtbar erscheint, hängt von der Schriftart ab. Eine Unicode-konforme Schrift muss nicht den gesamten Zeichensatz enthalten. TrueType und OpenType können höchstens 65.536 Glyphen aufnehmen, während Unicode mehr als 100.000 Schriftzeichen umfasst. Betriebssysteme liefern inzwischen meist Schriften für einen großen Teil der aktuellen Zeichen mit; für seltene Schriften oder Sonderzeichen können zusätzliche Fonts wie die Noto-Fonts nötig sein. Ersatzschriften wie Unicode BMP Fallback SIL oder LastResort zeigen fehlende Zeichen ersatzweise, etwa als Quadrat mit Hex-Code.
Kritik richtet sich besonders gegen die Han-Vereinheitlichung, weil ähnliche CJK-Zeichen verschiedener Sprachen zusammengefasst werden und historische Texte dadurch möglicherweise nicht originalgetreu darstellbar sind. Die thailändische Kodierung wird kritisiert, weil sie auf visueller statt logischer Reihenfolge beruht und dadurch die Sortierung erschwert. Bei indischen Schriften gilt das Modell einzelner Konsonanten- und Vokalzeichen manchen Kritikern als zu kompliziert; auch für Tibetisch wurden alternative Modelle vorgeschlagen.
Lernvideos zu Unicode
56:55
2025 - Unicode für Anfänger
Free and Open Source Software Conference (FrOSCon) e.V. · 75 Aufrufe
9:03
Was ist Unicode? // deutsch
the native web GmbH · 4.583 Aufrufe
5:41
Unicode 2: Was bedeutet: Unicode, Code Point, Encoding, UTF-8 (Deutsch / German)
LernenInVerschiedenenFormen · 4.120 Aufrufe