Unicode ist ein Computerstandard , der den Austausch von Texten in verschiedenen Sprachen auf globaler Ebene ermöglicht. Es wurde vom Unicode Consortium entwickelt , das darauf abzielt, geschriebenen Text zu codieren, indem jedem Zeichen in jedem Schriftsystem ein Name und eine numerische Kennung auf einheitliche Weise gegeben wird, unabhängig von der Computerplattform oder der verwendeten Software .
Diese Norm ist verwandt mit der Norm ISO / IEC 10646 beschreibt eine Tabelle äquivalenter Zeichen. Die neueste Version, Unicode 13.0 , wurde in . veröffentlichtMärz 2020.
Vollständig kompatibel mit dem universellen Zeichensatz (UIC) von ISO / IEC 10646 , erweitert der Unicode-Standard ihn um ein vollständiges Darstellungs- und Textverarbeitungsmodell, das jedem Zeichen einen Satz von Eigenschaften verleiht (der entweder für einige standardisierte oder stabilisierte Zeichensätze sein kann). alle Unicode-Versionen, in denen das Zeichen codiert wurde, oder informativ mit nur einer Empfehlung zu ihrer Verwendung, die sich an die neuen Anforderungen anpassen kann). Diese Eigenschaften beschreiben mit Genauigkeit die semantischen Beziehungen, die zwischen mehreren aufeinanderfolgenden Zeichen eines Textes bestehen können, und ermöglichen die Standardisierung oder Empfehlung von Verarbeitungsalgorithmen, die die Semantik der transformierten Texte so gut wie möglich erhalten. Unicode zielt darauf ab, denselben Text auf völlig unterschiedlichen Computersystemen identisch nutzbar zu machen.
Der Unicode-Standard besteht aus einem Repertoire von 143.859 Zeichen, das mehr als 150 Skripte umfasst, einer Reihe von Codetabellen zur visuellen Referenz, einer Kodierungsmethode und mehreren Standardzeichenkodierungen, einer Aufzählungszeicheneigenschaften (Großbuchstaben, Kleinbuchstaben, APL , Symbole, Satzzeichen). , etc. ) eines Satzes von Computer-Referenzdateien und einer Reihe verwandter Elemente, wie Normalisierungsregeln, bidirektionale Zerlegung, Sortierung, Wiedergabe und Anzeigereihenfolge (für die korrekte Anzeige von Text, der sowohl von rechts nach links Schriftzeichen wie Arabisch und Hebräisch und von links nach rechts).
In der Praxis berücksichtigt Unicode die ISO / IEC 10646 vollständig , da diese nur einzelne Zeichen standardisiert, indem sie ihnen einen Namen und eine normative Nummer (sogenannter Codepunkt ) und eine sehr eingeschränkte informative Beschreibung zuweist , jedoch keine Verarbeitung oder Spezifikation oder Empfehlung für deren beim Schreiben echter Sprachen verwenden, die nur der Unicode-Standard genau definiert. Die ISO / IEC 10646 bezieht sich normativ auf Teile des Unicode-Standards (einschließlich des bidirektionalen Algorithmus und der Zeicheneigenschaften (in) ); Unicode ist auch ein De-facto- Standard für die Textverarbeitung und dient als Grundlage für viele andere Standards.
Geschriebene Sprachen:
[L] ogographisch und [S] yllabisch
Abjad (semitische Sprachen)
Unicode, dessen Erstveröffentlichung auf das Jahr zurückgeht Oktober 1991, wurde entwickelt , um die Verwendung nationaler Codepages zu ersetzen .
Diese Codepages hatten in der Vergangenheit einige Probleme. Zum Beispiel auf 3270-Terminals, die in EBCDIC arbeiten : Wenn ein elektronisches Memo ein "Währungszeichen" enthielt, würde derselbe Text, der eine Ausgabe in Dollar für den amerikanischen Leser begrenzt, auf einem britischen Bildschirm den gleichen Betrag in Pfund Sterling anzeigen , da die Währung Vorzeichen war in jedem der beiden Länder unterschiedlich.
In der Praxis sind noch nicht alle Schriftsysteme vorhanden, da für seltene Schriftzeichen oder wenig bekannte Schriftsysteme (weil sie z. B. verschwunden sind) noch dokumentarische Recherchearbeit mit Spezialisten erforderlich sein kann.
Es werden jedoch die weltweit am häufigsten verwendeten Skripte sowie Regeln zur Semantik von Zeichen , ihrer Zusammensetzung und der Kombination dieser verschiedenen Systeme dargestellt. - Zum Beispiel, wie man ein rechts-nach-links-Schreibsystem in ein links-nach-rechts-Schreibsystem einfügt ( bidirektionaler Text ).
In seiner UTF-8-Form bietet Unicode eine gewisse Interoperabilität mit ASCII- Code .
Der Unicode-Standard definiert Anforderungen für die Bewertung der Konformität der Implementierung eines Prozesses (oder einer Software) mit Unicode . Diese Anforderungen betreffen insbesondere (in Version 4.0 ):
Diese Anforderungen ermöglichen die Unterstützung einer Teilmenge von Unicode.
Während ISO / IEC 10646 denselben Zeichensatz wie Unicode definiert, ist der Unterschied zwischen ISO / IEC 10646 und Unicode hauptsächlich auf die übermäßige Konformitätsanforderung von Unicode zurückzuführen.
Unicode ist 2016 der führende Standard für die Computerzeichencodierung. Es wird für die Software-Interoperabilität verwendet und ermöglicht beispielsweise das Kopieren von Texten mit Zeichen verschiedener Alphabete zwischen verschiedenen Softwares, auch wenn sie nicht speziell dafür entwickelt wurden (z. B. ein Programm in APL- Zeichen in einem LibreOffice- Text oder in einer E-Mail unter Gmail ). Allerdings sind nicht alle Unicode-Texte gleich kodiert. Abhängig von der angenommenen Unicode-Standardisierung kann das gleiche grafische Zeichen manchmal auf unterschiedliche Weise codiert werden. Einige Texte verwenden , um die NFC - Konvention , andere die NFD Konvention , usw. Und der Standard verbietet es nicht, mehrere Konventionen im selben Text zu mischen. Das gleiche gilt für Software.
Diese Koexistenz mehrerer Schreibweisen wurde in den 2000er Jahren von Hackern ausgenutzt, indem sie Filter umgehen konnten: Hacker umgingen die Verbote bestimmter als gefährlich angesehener Zeichenfolgen ganz einfach, indem sie sie in einer anderen Form kodierten. , ungewöhnlicher und daher manchmal ungefiltert.
Unicode reagiert auf diese Einschränkungen, indem es den Begriff der kanonischen Äquivalenz bereitstellt .
Die Arbeit an Unicode ist parallel und synchronisiert mit der an der Norm ISO / IEC 10646, deren Ziele die gleichen sind. Die ISO / IEC 10646 , eine in Französisch und Englisch veröffentlichte internationale Norm, die weder die Regeln für die Zusammensetzung von Zeichen noch die semantischen Eigenschaften der Zeichen festlegt.
Unicode behandelt jedoch das Problem der Groß- / Kleinschreibung , der alphabetischen Reihenfolge und der Kombination von Akzenten und Zeichen . Seit der Unicode- Version 1.1 und in allen nachfolgenden Versionen haben die Zeichen die gleichen Bezeichner wie die des ISO / IEC 10646-Standards : Die Verzeichnisse werden parallel gepflegt, während ihrer endgültigen Standardisierung identisch, die beiden Standards werden fast gleichzeitig aktualisiert. Die beiden Standards Unicode (seit Version 1.1 ) und ISO / IEC 10646 gewährleisten volle Abwärtskompatibilität: Jeder Text, der einer früheren Version entspricht, muss auch in späteren Versionen konform bleiben.
Somit entsprechen die Zeichen der Unicode- Version 3.0 denen des ISO/IEC 10646:2000-Standards . Die Version 3.2 von Unicode zählte 95.221 Zeichen, Symbole und Anweisungen.
Die Version 4.1 von Unicode, aktualisiertNovember 2005, enthält:
dh insgesamt fast 245.000 Codepunkte in einem Raum zugewiesen, der 1.114.112 verschiedene Codes enthalten kann.
Bei der Kodierung chinesischer Schriftzeichen scheinen jedoch einige Probleme aufgrund der Vereinheitlichung der in verschiedenen Sprachen verwendeten ideographischen Sätze mit leicht unterschiedlicher und manchmal sinnvoller Kalligraphie zu bestehen, aber sie werden durch Unicode gelöst, das über definierte Selektoren verfügt eine Standardsequenzregistrierung geöffnet, die sie verwendet.
Ausführung | Veröffentlichungsdatum | Neue Charaktere |
---|---|---|
1.0.0 | Oktober 1991 | |
1.0.1 | Juni 1992 | |
1.1 | Juni 1993 | |
2.0 | Juli 1996 | |
2.1 | Mai 1998 | |
3.0 | September 1999 | |
3.1 | März 2001 | |
3.2 | März 2002 | |
4.0 | April 2003 | |
4.1 | März 2005 | |
5.0 | Juli 2006 | |
5.1 | März 2008 | |
5.2 | Oktober 2009 | |
6.0 | Februar 2011 | |
6.1 | 31. Januar 2012 | |
7,0 | 16. Juni 2014 | 2.834 neue Charaktere inklusive Emojis . |
8.0 | 17. Juni 2015 | 7.716 Zeichen, darunter viele Emojis. |
9,0 | 21. Juni 2016 | 7.500 neue Charaktere (einschließlich 72 Emojis). |
10,0 | 20. Juni 2017 | 8.518 neue Charaktere (einschließlich 56 Emojis). |
11,0 | 5. Juni 2018 | 684 neue Charaktere (einschließlich 66 Emojis). |
12.0 | 5. März 2019 | 554 neue Zeichen. |
13,0 | 10. März 2020 | 5.390 neue Charaktere |
Unicode ist nach einem Schichtmodell definiert ( Technical Note Unicode n o 17 ). Andere Standards unterschieden normalerweise nicht zwischen Zeichensatz und physischer Darstellung. Die Schichten werden hier beginnend mit der höchsten (am weitesten von der Maschine entfernten) dargestellt.
Verzeichnis abstrakter Zeichen ( Astract Character Repertoire )Die oberste Ebene ist die Zeichensatzdefinition. Latin-1 hat beispielsweise einen Satz von 256 Zeichen, während Unicode derzeit fast 110.000 Zeichen standardisiert. Darüber hinaus weist Unicode jedem dieser Zeichen einen Namen zu.
Die Liste der Zeichen mit ihren Namen bildet daher die Unicode-Anwendungsschicht.
Das Zeichen Ç heißt beispielsweise "lateinischer Großbuchstabe c cedilla".
Diese Definition ist vollständig identisch mit der von ISO / IEC 10646, die jede Erweiterung des Verzeichnisses zulässt. Unicode verwendet im Text seines Standards nur die normativen Namen in Englisch, aber der ISO / IEC 10646-Standard wird in zwei gleich normativen Sprachen veröffentlicht. Somit sind die Namen in Englisch und Französisch beide standardisiert.
Tatsächlich erfolgt jede Erweiterung des Verzeichnisses nun gemeinsam zwischen der für ISO / IEC 10646 zuständigen Arbeitsgruppe ( JTC1 / SC2 / WG2 , deren stimmberechtigte Mitglieder nur die nationalen Normungsbehörden der teilnehmenden Länder oder deren offizieller Vertreter sind) und der Unicode UTC Technical Committee (dessen stimmberechtigte Mitglieder jede private oder öffentliche Organisation oder sogar eine Regierung sein können, die beigetreten ist und eine jährliche Gebühr entrichtet, um an diesen Entscheidungen teilzunehmen) .
Codierter Zeichensatz ( codierter Zeichensatz )Hier wird eine mit jedem Zeichen verknüpfte Zahl zur vorherigen Tabelle hinzugefügt. Beachten Sie, dass dies keine Darstellung im Speicher ist, sondern nur eine ganze Zahl, die als Codepunkt bezeichnet wird . Der Codierraum für diese Nummern ist in 17 Bereiche mit 65.536 Codepunkten unterteilt. Diese Bereiche werden Ebenen genannt .
Der Codepunkt wird mit "U + xxxx" bezeichnet, wobei "xxxx" hexadezimal ist und 4 bis 6 Stellen hat :
So hat das Zeichen mit dem Namen "Lateinischer Großbuchstabe c cedilla" (Ç) die Nummer U + 00C7. Es gehört in den Vordergrund.
Grundsätzlich stehen alle Codepunkte zwischen U + 0000 und U + 10FFFF zur Verfügung, bestimmte Intervalle sind jedoch dauerhaft für bestimmte Verwendungen reserviert, insbesondere eine ausgeschlossene Indirektionszone für die UTF-16-Codierung ( siehe unten), die Bereiche für den privaten Gebrauch und einige Regionen (zB U + FFFE oder U + FFFF) , die nicht-Zeichen , deren Verwendung in einem kompatiblen Datenaustausch gestattet. Die anderen Codepunkte sind entweder bereits Zeichen zugeordnet oder für zukünftige Standardisierungen reserviert.
Zone für den privaten Gebrauch: Unicode hat gültigen Zeichen viele Codepunkte zugewiesen, deren Semantik jedoch aufgrund des privaten Gebrauchs unbekannt ist (zum Beispiel sind die letzten beiden Pläne zwischen U + F0000 und U + 10FFFF vollständig dieser Verwendung gewidmet, mit Ausnahme der beiden Codes Punkte am Ende jedes Plans, die in konformem Text verbotene Nichtzeichen sind).
Auch hier ist die Codierungsstandardisierung, d. h. die Zuordnung von Codepunkten zu Zeichen des gemeinsamen Repertoires, eine gemeinsame Entscheidung der Unicode- und ISO / IEC 10646-Standards . Alle Zeichen im Verzeichnis haben einen eindeutigen Codepunkt (auch wenn für einige Sprachen oder für Unicode einige Zeichen als gleichwertig angesehen werden).
Es ist zu beachten, dass das Zeichenverzeichnis, wenn es erweiterbar ist, durch die obere Grenze des Codierungsraums begrenzt ist: U + 10FFFF. Ein Großteil der möglichen Codepunkte ist keinem bestimmten Zeichen zugeordnet, kann aber jederzeit sein.
Auch diese noch freien Codepunkte gelten nicht als ungültig, sondern stellen abstrakte Zeichen dar (noch nicht spezifiziert und temporär reserviert). Diese abstrakten Zeichen (wie auch den privaten Gebrauch Zeichen) vervollständigen den codierten Zeichensatz von standardisierten Verzeichnis in einem einzigen Spiel namens „ Universal Character Set “ ( Universal Character Set , oft abgekürzt als UCS ), der enthält alle codierten Zeichensätze der Verzeichnisse jeder der vergangenen, gegenwärtigen und zukünftigen Versionen von ISO / IEC 10646 und Unicode (nur seit Version 1.1 ).
Formalismus Zeichenkodierung ( Zeichenkodierungsformular )Diesmal kommen wir zu einer physischen Darstellung (im Speicher, auf der Festplatte, etc.): Diese Schicht gibt an, welche Einheit (Codierung Codeeinheiten ) oder Codet , um ein Zeichen oder genauer einen Codepunkt darstellen: Byte , seizet (in ) (16-Bit-Wort) oder dreißig-deuzet (en) (32-Bit-Wort).
Es kann (und gibt) mehrere dieser Formalismen geben. Ein bestimmter Formalismus muss die Größe der Codiereinheit spezifizieren und angeben, wie die ganze Zahl, die einen Codepunkt darstellt, in einer Reihe von Codiereinheiten dargestellt wird – und umgekehrt, d. h. wie der Codepunkt bei einer Sequenz von Codiereinheiten zu finden ist.
Mechanismus zur Serialisierung von Zeichen ( Schema zur Zeichencodierung )Diese Schicht sorgt für die Serialisierung der Sequenzen von Codiereinheiten, die von der vorherigen Schicht definiert wurden, in Sequenzen von Bytes. Hier wird die Reihenfolge der Bytes zwischen Big-Endian (höchstwertiges Byte zuerst) und Little-Endian (niederwertiges Byte zuerst) gewählt.
In diesem Schritt ist es auch möglich, einen Byte-Order-Indikator (oder BOM für Byte-Order-Mark ) hinzuzufügen , der am Anfang der Datei oder des Datenstroms anzeigt, ob er in Big-Endian oder Little-Endian vorliegt. In der Internetwelt wird es selten verwendet und bevorzugt ein explizites Markup (" charset = UTF-16BE " in MIME , um beispielsweise einen Big-Endian-Datenstrom anzuzeigen, wobei BE für Big Endian steht ).
Übercodierungsübertragung ( Übertragungscodierungssyntax )Hier optional Komprimierungs- oder Verschlüsselungsmechanismen.
Es kann auch eine Übercodierung wie bei LDAP geben, die festlegt, dass Unicode-Strings in UTF-8 und in Base64 übercodiert werden sollen .
Um die starren Beschränkungen der bisherigen Standards (eine Folge von Bits, eine Darstellung) zu überwinden, trennt Unicode fortan einerseits die Definition des Zeichensatzes (Liste der Zeichen nach ihrem Namen) und deren Index, den Codepunkt , der Codierung . Wir können daher nicht von der Größe eines Unicode-Zeichens sprechen, da diese von der gewählten Kodierung abhängt und diese daher beliebig variieren kann. In der Praxis ist UTF-8 in westlichen Ländern weit verbreitet.
Wo ASCII 7 Bit und ISO / IEC 8859-1 8 Bit verwendet (wie die meisten nationalen Codepages), benötigt Unicode, das die Zeichen jeder Codepage sammelt, mehr als 8 Bit pro Byte . Die Grenze wurde ursprünglich auf 16 Bit für frühe Versionen von Unicode und 32 Bit für frühe Versionen von ISO / IEC 10646 festgelegt .
Die aktuelle Grenze liegt nun zwischen 20 und 21 Bits pro Codepunkt, die standardisierten Zeichen in den beiden jetzt miteinander kompatiblen Standards zugeordnet sind:
Unicode und ISO / IEC 10646 akzeptieren verschiedene Formen der universellen Transformation, um einen gültigen Codepunkt darzustellen. Lassen Sie uns zitieren:
Die Zahl nach UTF stellt die minimale Anzahl Bits von Codepunkten dar, mit denen ein gültiger Codepunkt dargestellt wird.
Diese Transformationen wurden ursprünglich für die internen Darstellungs- und Codepunkt-Codierungsschemata von ISO / IEC 10646 erstellt , die ursprünglich 31-Bit-Codepunkte definieren konnten. Seitdem wurde der ISO/IEC 10646-Standard so geändert, dass die drei Formen voll kompatibel zueinander sind und die Codierung aller Codepoints erlauben (weil UTF-16 nur die Codepoints der ersten 17 Ebenen erlaubt) vertreten).
Unicode hat auch diese drei Transformationsformen aller gültigen Codepunkte (U + 0000 bis U + D7FF und U + E000 bis U + 10FFFF) sehr streng standardisiert und nur sie, sei es um Text in Form von Codepunktfolgen darzustellen, oder Codepunkte, die gültigen Zeichen zugewiesen oder reserviert oder Nicht-Zeichen zugewiesen sind. Die den Halbzonen (U + D800 bis U + DFFF) zugewiesenen Codepunkte, die nur in UTF-16 verwendet werden, sind einzeln ungültig, da sie verwendet werden, um durch ein Paar von 2 16-Bit-Codepunkten die Codepunkte darzustellen für die 16 zusätzlichen Pläne.
UTF-8Die UTF-8 , angegeben in RFC 3629, sind die am häufigsten verwendeten Anwendungen für Unix und das Internet . Seine Codierung mit variabler Größe ermöglicht eine durchschnittlich kostengünstigere Speichernutzung (für Sprachen mit lateinischem Alphabet). Aber dies deutlich verlangsamt Operationen , die Unterkette Extraktionen in einigen Sprachen , der Index - Strings durch ganze Zahlen (zB = „815 th Zeichen des Strings“), weil es notwendig ist , um die Zeichen zu zählen von Anfang an der Schnur zu wissen wo das erste zu extrahierende Zeichen ist.
UTF-8 bietet auch, und das ist sein Hauptvorteil, die Kompatibilität mit der einfachen String-Manipulation in ASCII in Programmiersprachen . Daher können in C geschriebene Programme oft ohne Änderungen ausgeführt werden.
Anfangs konnte UTF-8 jeden Codepunkt zwischen U + 0000 und U + 7FFFFFFF (also bis zu 31 Bit) codieren. Diese Verwendung ist veraltet und der ISO / IEC 10646-Standard wurde geändert, um nur die gültigen Codepunkte der ersten 17 Aufnahmen zu unterstützen, außer denen der Halbzone, die den Codeelementen entspricht, die in UTF-16 für die Darstellung auf zwei Codes verwendet werden Elemente Codepunkte der 16 zusätzlichen Pläne. Auch die längsten Sequenzen in UTF-8 benötigen maximal 4 Bytes statt bisher 6 Bytes. Außerdem wurde UTF-8 zuerst von Unicode und dann von ISO/IEC 10646 geändert, um nur die kürzeste Darstellung jedes Codepunktes zu akzeptieren ( Eindeutigkeit der Codierung). Die Tatsache, dasselbe Zeichen auf verschiedene Weise darstellen zu können, stellte Sicherheitsprobleme dar, da der Hacker eine "gefilterte" Form durch eine andere Schrift umgehen konnte.
Sein Vorteil gegenüber UTF-16 (und UTF-32) besteht darin, dass Unterschiede in der Reihenfolge der Bytes, aus denen ein Wort besteht ( Endianness ) in einem Netzwerk heterogener Systeme kein Problem darstellen; daher wird diese Transformation heute von den meisten standardisierten Austauschprotokollen verwendet.
Andererseits ist UTF-8 vollständig kompatibel für die Übertragung von Texten durch Protokolle, die auf dem ASCII-Zeichensatz basieren, oder kann mit Austauschprotokollen kompatibel gemacht werden (auf Kosten einer Multi-Byte-Transformation von Nicht-ASCII-Zeichen). 8-Bit-codierte Zeichensätze ( entweder basierend auf ISO / IEC 8859 oder vielen anderen 8-Bit-codierten Zeichensätzen, die durch nationale Standards oder bestimmte proprietäre Systeme definiert sind).
Sein Hauptnachteil ist die Codierung mit sehr variabler Länge (1 Byte für die Codepunkte, die ASCII - ISO / IEC 646-Zeichen zugeordnet sind , 2 bis 4 Byte für die anderen Codepunkte), auch wenn die UTF-8-spezifische Autosynchronisation Die Codierung ermöglicht es, den Beginn einer Sequenz aus einer zufälligen Position zu bestimmen (durch Ausführen von höchstens 3 zusätzlichen Lesevorgängen der vorhergehenden Codepunkte). Diese Kodierung ist jedoch nicht darauf ausgelegt, die Verarbeitung von Zeichenketten zu erleichtern: Wir bevorzugen oft UTF-16, manchmal UTF-32 (Greedy in Memory).
DerivateDas UTF-16 ist ein guter Kompromiss, wenn der Speicherplatz nicht zu klein ist, denn die überwiegende Mehrheit der den Schriften moderner Sprachen zugeordneten Unicode-Zeichen (einschließlich der am häufigsten verwendeten Zeichen) befinden sich in der mehrsprachigen Planbasis und können daher dargestellt werden auf 16 Bit. Die französische Version der ISO / IEC 10646 nennt diese 16-Bit-Wörter "seizets", die internationale Version beschreibt sie jedoch als klassische 16-Bit-Wörter, die aus zwei Bytes bestehen und den üblichen Regeln des Endismus unterliegen .
hallo \ lo | DC00 | DC01 | ... | DFFF |
---|---|---|---|---|
D800 | 10.000 | 10001 | ... | 103FF |
D801 | 10400 | 10401 | ... | 107FF |
⋮ | ⋮ | ⋮ | ⋱ | ⋮ |
DBFF | 10FC00 | 10FC01 | ... | 10FFFF |
Die Codepunkte der sechzehn zusätzlichen Ebenen erfordern eine Transformation auf zwei 16-Bit-Wörtern:
Da sich die meisten der am häufigsten verwendeten Zeichen in der Basisebene befinden, wird die Codierung zusätzlicher Clips in der Software oft schlecht getestet, was selbst in weit verbreiteter Software zu Fehlern oder Sicherheitsproblemen führt. Bestimmte rechtliche Rahmenbedingungen wie GB 18030 können die Unterstützung zusätzlicher Pläne verlangen , die insbesondere Zeichen enthalten, die in Eigennamen vorkommen.
Es ist möglich, den Beginn der Codiersequenz von jeder Stelle in einem in UTF-16 dargestellten Text durch höchstens eine zusätzliche Lesung zu bestimmen, nur wenn diese Codestelle im unteren Halbbereich liegt. Dieses Formular ist für die Darstellung von Texten mit wenigen ASCII-Zeichen (U + 0000 bis U + 007F) kostengünstiger und schneller zu verarbeiten als UTF-8.
Diese Transformation weist jedoch zwei inkompatible Codierungsschemata auf, die von der Reihenfolge der Bytes in der 16-Bit-Ganzzahldarstellung abhängen. Um diese Mehrdeutigkeit aufzulösen und die Übertragung zwischen heterogenen Systemen zu ermöglichen, ist es erforderlich, Informationen über das verwendete Codierungsschema (UTF-16BE oder UTF-16LE) hinzuzufügen oder dem codierten Text die Darstellung des Codepunktes voranzustellen (zugewiesen dem Zeichen "Geschütztes Leerzeichen der Breite Null", ein Zeichen, das jetzt nur für diese alleinige Verwendung als Byte-Order-Marker reserviert ist), da der Codepunkt "umgekehrt" U + FFFE gültig ein Nicht-Zeichen ist, in Texten verboten konform zu Unicode und ISO/IEC 10646 .
Der andere Fehler von UTF-16 besteht darin, dass damit transformierter und mit einem der beiden Kodierungsschemata übertragener Text eine große Anzahl von Bytes enthält, die null sind oder einen Wert haben, der mit den d-Werten in Konflikt steht.'Bytes, die von bestimmten Austauschprotokollen reserviert sind.
Dies ist insbesondere die Codierung, die die Java- Plattform intern verwendet, sowie Windows für seine Unicode-kompatiblen APIs (mit dem Typ wchar).
UTF-32Das UTF-32 wird verwendet, wenn der Speicherplatz kein Problem darstellt und wir direkt und ohne Größenänderung auf Zeichen zugreifen müssen ( Ägyptische Hieroglyphen ).
Der Vorteil dieser standardisierten Transformation besteht darin, dass alle Codeelemente die gleiche Größe haben. Es ist daher nicht erforderlich, zusätzliche Codepunkte zu lesen, um den Beginn der Darstellung eines Codepunktes zu bestimmen.
Dieses Format ist jedoch besonders unwirtschaftlich (auch im Speicher), da es unnötigerweise mindestens ein Byte (immer Null) pro Zeichen "verschwendet". Die Speichergröße eines Textes wirkt sich negativ auf die Leistung aus, da bei vollem Arbeitsspeicher mehr Lese- und Schreibvorgänge auf die Festplatte erforderlich sind , und verringert auch die Leistung des Speichercaches von Prozessoren.
Für Texte, die in aktuellen modernen Sprachen geschrieben sind (abgesehen von bestimmten seltenen Zeichen der ergänzenden ideographischen Ebene) und daher nur die Codepunkte der mehrsprachigen Basisebene verwenden, verdoppelt diese Transformation den erforderlichen Speicher im Vergleich zu UTF-16 .
Wie UTF-16 hat UTF-32 mehrere Kodierungsschemata, abhängig von der Reihenfolge der Bytes, die eine ganze Zahl von mehr als 8 Bits bilden (zwei Kodierungsschemata von UTF-32 sind standardisiert, UTF-32BE und UTF-32LE). Es ist daher auch erforderlich, dieses Kodierungsschema anzugeben oder es durch Voranstellen des Textes durch die Darstellung des Kodepunkts U + FEFF in UTF-32 zu bestimmen. Wie bei UTF-16 macht das Vorhandensein von Null-Bytes in den standardisierten Codierungsschemata von UTF-32 es mit vielen Protokollen für den Austausch zwischen heterogenen Systemen inkompatibel.
Auch dieses Format wird meistens nur sehr lokal für bestimmte Verarbeitungen als einfacher zu handhabende Zwischenform verwendet, und wir bevorzugen oft die UTF-16-Transformation, die für die Verarbeitung und Speicherung großer Textmengen oft effizienter ist, die Konvertierung zwischen die beiden sind sehr einfach durchzuführen und im Hinblick auf den Verarbeitungsaufwand sehr kostengünstig.
Tatsächlich werden viele Textverarbeitungsbibliotheken nur mit UTF-16 geschrieben und sind effizienter als UTF-32, selbst wenn die Texte Zeichen zusätzlicher Ebenen enthalten (da dieser Fall von Zahlen in den allermeisten Fällen selten bleibt).
Beachten Sie jedoch, dass die Transformation zu UTF-32 32-Bit-Codepunkte verwendet, von denen viele möglicherweise keinen gültigen Codepunkt darstellen (Werte außerhalb der beiden Intervalle, die gültige Codepunkte darstellen U + 0000 bis U + D7FF und U + E000 bis U + 10FFFF), daher kein gültiges oder reserviertes Zeichen (alle darin enthaltenen Informationen können daher kein Text im Sinne von Unicode sein). Die Übertragung von Texten, die diese ungültigen Codewerte in einem der standardisierten Codierungsschemata von UTF-32 verwenden, ist für jedes Unicode-konforme System verboten (es ist notwendig, stattdessen die Codepunkte für den privaten Gebrauch zu verwenden), da dies unmöglich ist um sie in einer anderen UTF-Transformation darzustellen, mit der die drei standardisierten UTFs bijektiv kompatibel sind.
Dies ist eine Transformation von Unicode, die nicht vom Unicode-Konsortium definiert wird, sondern von der Standardverwaltung in China, wo ihre Unterstützung in Anwendungen obligatorisch ist. Historisch war dies ein codierter Zeichensatz, der durch eine algorithmische Transformation erweitert wurde, um das gesamte UCS-Repertoire zu unterstützen, wodurch eine große Code-zu-Code-Korrespondenztabelle vervollständigt wurde.
Zu behaupten, dass Unicode Zeichen kodiert, kommt der Behauptung gleich, dass es abstrakten Symbolen eine Zahl zuweist, nach einem Prinzip der logischen Kodierung. Unicode hingegen kodiert keine grafischen Darstellungen von Zeichen, Glyphen . Es gibt daher keine Bijektion zwischen der Darstellung des Zeichens und seiner Nummer, da alle grafischen Stilvarianten vereinheitlicht sind.
Darüber hinaus ist die Auswahl einer Glyphe durch einen Code im Gegensatz zu einer klassischen ASCII- oder Latin-1- Schrift nicht eindeutig und oft kontextabhängig und kann auch dieselbe Glyphe für verschiedene Codes anzeigen. So kann das französische Zeichen „é“ auf zwei Arten beschrieben werden: entweder durch direkte Verwendung der dem „é“ entsprechenden Zahl oder indem man der Zahl des „e“ ohne Jagd nach der des akuten Akzents folgt. Unabhängig davon, welche Option Sie wählen, wird dieselbe Glyphe angezeigt. Wir werden vom ersten Zeichen sagen, dass es vorkomponiert ist, vom zweiten, dass es eine Komposition ist (zwei Zeichen bilden eine einzelne Glyphe, die aus beiden besteht). Dies ist erlaubt und wird sogar dringend empfohlen, da die verschiedenen Kodierungsformen von Unicode als "kanonisch gleichwertig" eingestuft werden, was bedeutet, dass zwei gleichwertige Kodierungsformen gleich behandelt werden sollten.
Viele zusammengesetzte Zeichen sind in diesem Fall und können auf diese zwei Arten codiert werden (oder mehr, einige zusammengesetzte Zeichen können auf mehr als eine Weise zerlegt werden, insbesondere wenn sie mehrere diakritische Zeichen enthalten). In den meisten Fällen ist das vorkomponierte Zeichen für die Kodierung des Textes vorzuziehen, wenn es vorhanden ist (dies ist beispielsweise bei polytonischem Griechisch der Fall , das, in Zerlegung kodiert, grafisch möglicherweise nicht zufriedenstellend ist: Je nach Schriftart sind die Zeichen unterschiedlich, Bestandteile der Glyphe sind manchmal schlecht angeordnet und schwer zu lesen). Allerdings haben nicht alle zusammengesetzten Zeichen einen eindeutigen Codepunkt für ihre vorkomponierte Form.
Ebenso erfordern einige Schriftsysteme, wie Devânagarî , Persisch oder Arabisch , eine komplexe Behandlung von Ligaturen : Die Grapheme ändern ihre Form je nach ihrer Position oder ihren Nachbarn (siehe Kontextvariante und Gemeinsamer Buchstabe ). Die Auswahl der richtigen Glyphe erfordert eine Verarbeitung, um zu bestimmen, welche kontextbezogene Form in der Schriftart ausgewählt werden soll, obwohl alle kontextbezogenen Formen identisch in Unicode codiert sind.
Aus diesen Gründen sollte eine Unicode-Schriftart mit Vorsicht behandelt werden. Beispielsweise reicht eine Schriftart mit allen vorhandenen Glyphen nicht aus. Es ist auch notwendig, dass das Anzeigesystem (die Rendering-Engine ) die Mechanismen besitzt, die in der Lage sind , Ligaturen , kontextuelle Varianten und gemeinsame Formen für bestimmte Sprachen zu verarbeiten. Umgekehrt verdient eine Schrift, die nur einen Teil der Zeichen darstellt, diese aber richtig darzustellen weiß, eher den Titel "Unicode-Schrift". Schließlich können bestimmte technische Einschränkungen von Schriftformaten verhindern, dass sie das gesamte Verzeichnis unterstützen. In der Praxis ist es (im Jahr 2009) unmöglich, eine einzelne Schriftart zu finden, die das gesamte Verzeichnis unterstützt.
Ein Unicode-Zeichenfont ist daher nur ein Font, der es ermöglicht, einen in allen von Unicode autorisierten Formen codierten Text direkt anzuzeigen und eine zusammenhängende Teilmenge zu unterstützen, die an eine oder mehrere Sprachen angepasst ist, um ein oder mehrere Skripte zu unterstützen. Keine Unicode-Schrift kann allein "funktionieren", und die vollständige Schreibunterstützung erfordert die Unterstützung dieser in einer Rendering-Engine , die in der Lage ist, äquivalente Kodierungsformen zu erkennen, nach kontextbezogenen Formen im Text zu suchen und die verschiedenen Glyphen einer mit Unicode kodierten Schriftart auszuwählen. bei Bedarf die in der Schrift selbst enthaltenen Korrespondenztabellen verwenden.
Mit der plattformübergreifenden Softwarebibliothek der ICU können Sie mit Unicode codierte Daten bearbeiten. Plattformspezifische Unicode-Unterstützung wird auch von modernen Systemen ( Java , Microsoft Windows , GNU/Linux , Standard-C/C++- Bibliotheken , Python , etc.) integriert.
Die zum Speichern von Unicode-Variablen zu verwendenden Typen sind:
Programmiersprache | Geben Sie für ein einzelnes Zeichen ein | Geben Sie einen beliebigen Text ein |
---|---|---|
VS | char[4] Wo wchar_t[2] | char[] Wo wchar_t[] |
C++ | char[4] Wo wchar_t[2] | char[]oder wchar_t[]oder std::stringoderstd::wstring |
Java | char[2] Wo int | char[] Wo String |
ICU-Bibliothek (für C/C++ oder Java) | UChar | UChar[]oder String,UnicodeString |
JavaScript oder ECMAScript | char | string |
C# oder J# | char | string |
Delphi | char[4] Wo widechar[2] | string Wo widestring |
Python 2 | unicode | |
Python 3 | str | |
gehen | rune(= int32) | string Wo []byte |
Schnell | Character | String |
Unicode leidet jedoch immer noch unter einer schwachen Unterstützung für reguläre Ausdrücke durch einige Software, obwohl Bibliotheken wie ICU und Java diese unterstützen können. Eine solche Unterstützung ist für ECMAScript noch nicht standardisiert und wird nur mit Hilfe von mit der Sprache erstellten Bibliotheken oder Schnittstellen zur Interoperabilität mit anderen Systemen (insbesondere mit CORBA , COM ) oder Sprachen (insbesondere C++ und Java ) bereitgestellt .
Die aktuelle Partitionierung finden Sie auf der offiziellen Unicode-Website. Angesichts der wichtigen Rolle von Unicode heute ( ISO / IEC 10646 ) werden hier jedoch die wichtigsten Zeichenblöcke beschrieben. Die französischen Namen sind die offiziellen Namen von ISO / IEC 10646 , dem internationalen zweisprachigen Standard, der dieselben Zeichen wie Unicode verwendet. Sie sind so offiziell wie die englischen Namen.
Der alte Unicode 1.0- Standard ist veraltet und nicht kompatibel mit ISO / IEC 10646 und Unicode 1.1 und all seinen späteren Versionen; die Hauptinkompatibilität ist die der Hangul-Zeichenblöcke, die zum Schreiben der koreanischen Sprache verwendet werden, die ihre Position geändert haben und deren alte Codepunkte inzwischen anderen Blöcken zugewiesen wurden. Die folgende Tabelle ist kompatibel mit ISO / IEC 10646 (alle Versionen) und Unicode 1.1 (oder höher).
Hinweis: Die Schreibweise von Blocknamen ist nicht normativ. „Basic Latin“ ist also gleichbedeutend mit „BASIC LATIN“.
In den folgenden Tabellen bedeutet jeder Blockname mit einem Hinweis zu einem offiziellen Unicode-PDF, dass die mit diesem Block verknüpfte Wikipedia-Seite nicht vorhanden oder falsch ist.
Mehrsprachiger Basistarif (PMB, 0000 bis FFFF)Codepunkte | Offizieller Blockname | Offizielles PDF | Finde mehr heraus | |
---|---|---|---|---|
Start | Ende | |||
0000 | 007F | Grundlegende C0- und lateinische Befehle | U0000 | siehe ISO / IEC 646 , ASCII , lateinisches Alphabet , Unicode-Steuerzeichen |
0080 | 00FF | C1-Befehle und Latin-1-Ergänzung | U0080 | siehe ISO/IEC 8859 , ISO/IEC 8859-1 , lateinisches Alphabet , Unicode-Prüfzeichen |
0100 | 017F | Lateinisches erweitertes A | U0100 | siehe lateinisches Alphabet |
0180 | 024F | Lateinisches erweitertes B | U0180 | siehe lateinisches Alphabet |
0250 | 02AF | Internationales phonetisches Alphabet (API) | U0250 | siehe Internationales phonetisches Alphabet |
02B0 | 02FF | Änderungsbuchstaben mit Breite | U02B0 | siehe Diakritik , Lateinisches Alphabet , Diakritik des lateinischen Alphabets , Internationales phonetisches Alphabet |
0300 | 036F | Diakritik | U0300 | siehe Diakritik , Diakritik des lateinischen Alphabets , Diakritik des griechischen Alphabets , koptisches Alphabet , Diakritik des kyrillischen Alphabets |
0370 | 03FF | Griechisch und Koptisch | U0370 | siehe Griechisches Alphabet und Koptisches Alphabet |
0400 | 04FF | kyrillisch | U0400 | siehe Kyrillisches Alphabet |
0500 | 052F | Kyrillische Ergänzung | U0500 | siehe Kyrillisches Alphabet |
0530 | 058F | Armenisch | U0530 | siehe Armenisches Alphabet |
0590 | 05FF | hebräisch | U0590 | siehe hebräisches Alphabet , Diacritics , Diacritics des hebräischen Alphabets |
0600 | 06FF | Arabisch | U0600 | siehe Arabisches Alphabet |
0700 | 074F | Syrisch | U0700 | siehe Syrisch |
0750 | 077F | Arabische Ergänzung | U0750 | siehe Arabisches Alphabet |
0780 | 07BF | Thâna | U0780 | siehe Maledivisches Alphabet |
07C0 | 07FF | N'ko | U07C0 | siehe N'ko |
0800 | 083F | Samariter | U0800 | siehe Samaritanisches Alphabet |
0840 | 085F | Mandean | U0840 | siehe Mandäisches Alphabet |
0860 | 086F | Syrische Ergänzung | U0860 | siehe Syrisch |
0870 | 089F | Reservieren | - | - |
08A0 | 08FF | Erweitertes Arabisch A | U08A0 | siehe arabisches Alphabet , Diacritics , Diacritics des arabischen Alphabets |
0900 | 097F | Devanagari | U0900 | siehe Devanâgarî |
0980 | 09FF | Bengali | U0980 | siehe Bengalenî |
0A00 | 0A7F | Gurmoukhi | U0A00 | siehe Gurmukh |
0A80 | 0AFF | Gujarat | U0A80 | siehe Gujarati-Alphabet |
0B00 | 0B7F | Oriya | U0B00 | siehe Oriya |
0B80 | 0BFF | Tamil | U0B80 | siehe Tamil |
0C00 | 0C7F | Teluguug | U0C00 | siehe Telougu |
0C80 | 0CFF | Kannara | U0C80 | siehe Kannara |
0D00 | 0D7F | Malayalam | U0D00 | siehe Malayalam |
0D80 | 0DFF | Singhalesisch | U0D80 | siehe Singhalesisch |
0E00 | 0E7F | Thai | U0E00 | siehe Thai |
0E80 | 0EFF | Laos | U0E80 | siehe Laos |
0F00 | 0FFF | Tibetisch | U0F00 | siehe Tibetisch |
1000 | 109F | birmanisch | U1000 | siehe Burmesisch |
10A0 | 10FF | georgisch | U10A0 | siehe Georgisch , Georgisches Alphabet |
1100 | 11FF | Jamos Hangul | U1100 | siehe Hangûl |
1200 | 137F | äthiopisch | U1200 | siehe Alphasyllabaire geez |
1380 | 139F | Äthiopischer Zuschlag | U1380 | siehe Alphasyllabaire geez |
13A0 | 13FF | Cherokee | U13B0 | siehe Cherokee Syllabary |
1400 | 167F | Einheitliche kanadische indigene Silbenbücherlab | U1400 | siehe Sprachen der amerikanischen Ureinwohner |
1680 | 169F | Ogam | U1680 | siehe oghamisches Alphabet |
16A0 | 16FF | Runen | U16A0 | siehe Runenalphabet |
1700 | 171F | Tagalog | U1700 | siehe Tagalog |
1720 | 173F | Hanunóo | U1720 | siehe Hanunóo-Alphabet (de) |
1740 | 175F | Bouhide | U1740 | siehe Buhid (de) |
1760 | 177F | Tagbanoua | U1760 | siehe Alphabet Tagbanoua (de) |
1780 | 17FF | Khmer | U1780 | siehe Khmer |
1800 | 18AF | mongolisch | U1800 | siehe Mongolisch |
18B0 | 18FF | Erweiterte kanadische indigene Syllabaries | U18B0 | siehe Sprachen der amerikanischen Ureinwohner |
1900 | 194F | Limbou | U1900 | siehe Limbou |
1950 | 197F | Tai it | U1950 | siehe Taï-le |
1980 | 19DF | Neues Taï lü | U1980 | siehe Tai lü |
19E0 | 19FF | Khmer-Symbole | U19E0 | siehe Khmer |
1A00 | 1A1F | Bougui | U1A00 | siehe Bugis Language , Schreiben von Lontara |
1A20 | 1AAF | Tai-Tham | U1A20 | siehe Alphabet Taï Tham ( fr ) |
1AB0 | 1AFF | Erweiterte diakritische Zeichen | U1AB0 | siehe Diakritik |
1B00 | 1B7F | Balinesisch | U1B00 | siehe balinesische Schrift |
1B80 | 1BBF | Soundanese | U1B80 | siehe Soundanese , Sudanesisches Alphabet (en) |
1BC0 | 1BFF | Batak | U1BC0 | siehe Batak-Skript |
1C00 | 1C4F | Lepcha | U1C00 | siehe Alphabet Lepch (de) |
1C50 | 1C7F | Ol chiki | U1C50 | siehe Alphabet santâlî |
1C80 | 1C8F | Erweitertes kyrillisches C | U1C80 | siehe Kyrillisches Alphabet , Kirchenslawisch |
1C90 | 1CBF | Erweitertes Georgisch | U1C90 | siehe Georgisch , Georgisches Alphabet |
1CC0 | 1CCF | Sundanesische Ergänzung | U1CC0 | siehe Soundanese , Sudanesisches Alphabet (en) |
1CD0 | 1CFF | Vedische Erweiterungen | U1CD0 | siehe Sanskrit |
1D00 | 1D7F | Phonetische Ergänzung | U1D00 | siehe Internationales phonetisches Alphabet |
1D80 | 1DBF | Erweiterter phonetischer Zuschlag | U1D80 | siehe Internationales phonetisches Alphabet |
1DC0 | 1DFF | Ergänzung für diakritische Zeichen | U1DC0 | siehe Diakritik |
1E00 | 1EFF | Latein erweitert zusätzlich | U1E00 | siehe lateinisches Alphabet |
1F00 | 1FFF | Erweitertes Griechisch | U1F00 | siehe Griechisches Alphabet , Polytonisches Griechisch |
2000 | 206F | Allgemeine Satzzeichen | U2000 | siehe Satzzeichen , Leerzeichen |
2070 | 209F | Exponenten und Indizes | U2070 | siehe Exponent und Subscript |
20A0 | 20CF | Währungssymbole | U20A0 | siehe Währungssymbol |
20D0 | 20FF | Kombinatorische Zeichen für Symbole | U20D0 | siehe Pfeil , Drehung |
2100 | 214F | Buchstabensymbole | U2100 | siehe Temperatur , Mathematisches Symbol , Markenrechtliche Symbole |
2150 | 218F | Ziffernformen | U2150 | siehe Römische Zahl , Bruch |
2190 | 21FF | Pfeile | U2190 | siehe Pfeil |
2200 | 22FF | Mathematische Operatoren | U2200 | siehe Mathematische Operatoren |
2300 | 23FF | Diverse technische Zeichen | U2300 | siehe Griechisches Alphabet , Satzzeichen , Pfeil , mathematische Symbole , Emoji |
2400 | 243F | Befehlspiktogramme | U2400 | siehe ISO / IEC 8859 , ISO / IEC 646 , Control C0 (en) |
2440 | 245F | Optische Zeichenerkennung | U2430 | siehe Optische Zeichenerkennung |
2460 | 24FF | Alphanumerisch eingekreist | U2460 | siehe lateinisches Alphabet , arabische Ziffern |
2500 | 257F | Netze | U2500 | siehe Formzeichen (de) |
2580 | 259F | Pflastersteine | U2580 | siehe Formzeichen (in) , Rechteck |
25A0 | 25FF | Geometrische Formen | U25A0 | siehe Geometrische Form |
2600 | 26FF | Verschiedene Symbole | U2600 | siehe Symbol , Emoji , Französisches Kartenspiel , Schach , Geschlechtssymbol |
2700 | 27BF | Casseau | U2700 | siehe Symbol , arabische Ziffern , Satzzeichen , Emoji , Matheoperatoren , Pfeil |
27C0 | 27EF | Verschiedene mathematische Symbole A | U27C0 | siehe Mathematisches Symbol |
27F0 | 27FF | Pfeilergänzung A | U27F0 | siehe Pfeil |
2800 | 28FF | Braille-Kombinationen | U2800 | siehe Blindenschrift |
2900 | 297F | Pfeilergänzung B | U2900 | siehe Pfeil |
2980 | 29FF | Verschiedene mathematische Symbole B | U2980 | siehe Mathematisches Symbol |
2A00 | 2AFF | Zusätzliche mathematische Operatoren | U2A00 | siehe Mathematische Operatoren |
2B00 | 2BFF | Verschiedene Symbole und Pfeile | U2B00 | siehe Pfeil , Emoji |
2C00 | 2C5F | Glagotic | U2C00 | siehe glagolitisches Alphabet |
2C60 | 2C7F | Lateinisches erweitertes C | U2C00 | siehe Lateinisches Alphabet , Uiguren |
2C80 | 2CFF | koptisch | U2C80 | siehe koptisches Alphabet |
2D00 | 2D2F | Georgische Ergänzung | U2D00 | siehe Georgisch , Georgisches Alphabet |
2D30 | 2D7F | Tifinagh | U2D30 | siehe Tifinagh und Berbersprachen |
2D80 | 2DDF | Äthiopisch verlängert | U2D80 | siehe Alphasyllabaire geez |
2DE0 | 2DFF | Erweitertes kyrillisches A | U2DE0 | siehe Kyrillisches Alphabet , Diakritika , Diakritik des kyrillischen Alphabets |
2E00 | 2E7F | Satzzeichenzusatz | U2E00 | siehe Satzzeichen |
2E80 | 2EFF | Zusätzliche Formen von CJC-Schlüsseln | U2E80 | siehe Chinesisch, Japanisch und Koreanisch , Sinogramme , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
2F00 | 2FDF | Chinesische Kangxi-Schlüssel | U2F00 | siehe Kangxi Zeichenwörterbuch |
2FE0 | 2FEF | Reservieren | - | - |
2FF0 | 2FFF | Ideografische Beschreibung | U2FF0 | siehe Ideografische Beschreibung |
3000 | 303F | CJC-Symbole und Satzzeichen | U3000 | siehe Interpunktion , Chinesisch, Japanisch und Koreanisch , Sinogramm , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
3040 | 309F | Hiragana | U3040 | siehe Hiragana , Schriften des Japanischen , Japanisch |
30A0 | 30FF | Katakana | U30A0 | siehe Katakana , Schriften des Japanischen , Japanisch |
3100 | 312F | Bopomofo | U3100 | siehe Bopomofo , Chinesisch, Japanisch und Koreanisch , Sinogramme |
3130 | 318F | Hangul-Kompatibilitätsjamos | U3130 | siehe Hangûl , Sinogramm , Koreanisch |
3190 | 319F | Kanbun | U3190 | siehe Kanbun , Sinogramme |
31A0 | 31BF | Bopomofo verlängert | U31A0 | siehe Bopomofo , Sinogramme |
31C0 | 31EF | CJC-Eigenschaften | U31C0 | siehe Chinesisch, Japanisch und Koreanisch , Sinogramme , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
31F0 | 31FF | Katakana phonetische Erweiterung | U31F0 | siehe Katakana , Schriften des Japanischen , Japanisch |
3200 | 32FF | Eingekreiste CJC-Buchstaben und Monate | U3200 | siehe Abbildungen Arabisch , Chinesisch, Japanisch und Koreanisch , Sinogramme , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
3300 | 33FF | CJC-Kompatibilität | U3000 | siehe Maßeinheit , Chinesisch, Japanisch und Koreanisch , Sinogramm , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
3400 | 4DBF | Ergänzung A zu den CJC Unified Ideograms ( Teil 1 ) ( Teil 2 ) |
U3400 | siehe Chinesisch, Japanisch und Koreanisch , Sinogramme , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
4DC0 | 4DFF | Hexagramme des Klassikers der Mutationen oder Yi Jing | U4DC0 | siehe Yi Jing , Hexagramm , Chinesisch, Japanisch und Koreanisch , Sinogramm |
4E00 | 9FFF | CJC Unified Ideograms ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) |
U4E00 | siehe Chinesisch, Japanisch und Koreanisch , Sinogramme , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch , Vietnamesisch |
A000 | A48F | Syllabary yi der frischen Berge | UA000 | siehe Syllabary yi |
A490 | A4CF | Yi-Schlüssel | UA490 | siehe Syllabary yi |
A4D0 | A4FF | Lisu | UA4D0 | siehe Lisu , Alphabet Fraser (en) |
A500 | A63F | Vai | UA500 | siehe Syllabaire vaï |
A640 | A69F | Erweitertes kyrillisches B | UA640 | siehe Kyrillisches Alphabet |
A6A0 | A6FF | Bamoun | UA6A0 | siehe Bamoun-Skript |
A700 | A71F | Änderung der Tonbuchstaben | UA700 | siehe Sprache in Tönen , Chinesische Sprachen |
A720 | A7FF | Lateinisches erweitertes D | UA720 | siehe Lateinisches Alphabet |
A800 | A82F | Sylot nâgrî | UA800 | siehe Sylotî nâgrî (de) |
A830 | A83F | Indische gemeinsame digitale Formen | UA830 | siehe Indien |
A840 | A87F | Phags-pa | UA840 | siehe Phagpa-Skript |
A880 | A8DF | Saurachtra | UA880 | siehe Alphabet Saurashtra (de) |
A8E0 | A8FF | Erweiterte devanāgarī | UA8E0 | siehe Devanâgarî |
A900 | A92F | Kayah li | UA900 | siehe Alphabet Kayah Li |
A930 | A95F | Rejang | UA930 | siehe Rejang . schreiben |
A960 | A97F | Jamos Hangul Extended A | UA960 | siehe Hangûl , Sinogramm , Koreanisch |
A980 | A9DF | Javanisch | UA980 | siehe Javanisches Skript |
A9E0 | A9FF | Burmesisch erweitertes B | UA9E0 | siehe Burmesisch , Burmesische Schrift |
AA00 | AA5F | Cham | UAA00 | siehe Cham |
AA60 | AA7F | Burmesisch erweitertes A | UAA60 | siehe Burmesisch , Burmesische Schrift |
AA80 | AADF | Tai-Viet | UAA80 | siehe Alphabet taï viêt , Tay dam , Tay don , Tay Song ( fr ) |
AAE0 | AAFF | Meitei mayek verlängert | UAAE0 | siehe Meitei , Meitei- Skript |
AB00 | AB2F | Äthiopisches erweitertes A | UAB00 | siehe Alphasyllabaire geez |
AB30 | AB6F | Lateinisches erweitertes E | UAB30 | siehe lateinisches Alphabet , Teuthonista , Alphabet d'Ascoli , Alphabet Rousselot-Gilliéron |
AB70 | ABBF | Cherokee-Ergänzung | UAB70 | siehe Cherokee Syllabary |
ABC0 | ABFF | Meitei mayek | UABC0 | siehe Meitei , Meitei- Skript |
AC00 | D7AF | Hangul-Silben ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) |
UAC00 | siehe Hangûl , Sinogramm , Koreanisch |
D7B0 | D7FF | Jamos Hangul Extended B | U27B0 | siehe Hangûl , Sinogramm , Koreanisch |
D800 | DBFF | Hohe Indirektionshalbzone | UD800 | siehe Obere Halbzone der Umleitung |
DC00 | DFFF | Halbzone mit geringer Indirektion | UDC00 | siehe Halbzone mit geringer Indirektion |
E000 | F8FF | Privatnutzungsbereich ( Teil 1 ) ( Teil 2 ) |
UE000 | Kein offiziell definiertes Merkmal |
F900 | FAFF | CJC-Kompatibilitäts-Ideogramme | UF900 | siehe Chinesisch, Japanisch und Koreanisch , Sinogramme , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
FB00 | FB4F | Alphabetische Darstellungsformen | UFB00 | siehe Lateinisches Alphabet , Hebräisches Alphabet , Armenisches Alphabet |
FB50 | FDFF | Arabische Präsentationsformen A ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) |
UFB50 | siehe Arabisches Alphabet |
FE00 | FE0F | Variantenauswahl | UFE00 | siehe Selektorvariante (in) |
FE10 | FE1F | Vertikale Formen | UFE10 | siehe Satzzeichen , GB 18030 |
FE20 | FE2F | Kombinatorische Halbzeichen | UFE20 | siehe Diakritik |
FE30 | FE4F | CJC-Kompatibilitätsformulare | UFE30 | siehe Chinesisch, Japanisch und Koreanisch , Sinogramme , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch |
FE50 | FE6F | Kleine Abweichungen in der Form | UFE50 | siehe Satzzeichen , GBK , GB 2312 , CNS 11643 (de) |
FE70 | FEFF | Arabische Präsentationsformen B | UFE70 | siehe Arabisches Alphabet |
FF00 | FFEF | Formen mit halber und voller Breite | UFF00 | Sehen Sie Formen in halber und voller Breite , Chinesisch, Japanisch und Koreanisch , Sinogramm , Chinesische Schrift , Chinesische Sprachen , Schriften Japanisch , Japanisch , Hanja , Koreanisch , ASCII , Lateinisches Alphabet |
FFF0 | FFFF | Spezielle Charaktere | UFFF0 | siehe Sonderzeichen |
Codepunkte | Offizieller Blockname | Offizielles PDF | Finde mehr heraus | |
---|---|---|---|---|
Start | Ende | |||
10.000 | 1007F | Lineare Silbenschrift B | U10000 | siehe Linear B |
10080 | 100FF | Lineare B-Ideogramme | U10080 | siehe Linear B |
10100 | 1013F | Ägäische Zahlen | U10100 | siehe Zahlen iEgean (de) |
10140 | 1018F | Antike griechische Zahlen | U10140 | siehe Altgriechische Zahlen |
10190 | 101CF | Antike Symbole | U10190 | siehe Einheiten Roman , römische Währung |
101D0 | 101FF | Phaistos-Scheibe | U101D0 | siehe Phaistos Disc |
10200 | 1027F | Reservieren | - | - |
10280 | 1029F | Lykisch | U10280 | siehe Lykien |
102A0 | 102DF | Carien | U102A0 | siehe Karisches Alphabet |
102E0 | 102FF | Koptische Epaktzahlen | U102E0 | siehe Koptisch |
10300 | 1032F | Kursivschrift | U10300 | siehe Altes kursives Alphabet |
10330 | 1034F | gotisch | U10330 | siehe Gothic |
10350 | 1037F | Altes Perm | U10350 | siehe Altes Perm-Alphabet |
10380 | 1039F | Ugaritisch | U10380 | siehe Ugaritisches Alphabet |
103A0 | 103FF | Altpersisch | U103A0 | siehe Altpersisch |
10400 | 1044F | Wüste | U10400 | siehe Alphabet Wüste |
10450 | 1047F | Shavien | U10450 | siehe Shavian Alphabet |
10480 | 104AF | Osmanya | U10480 | siehe Osmanya-Alphabet |
104B0 | 104FF | Osage | U104B0 | siehe Osage |
10500 | 1052F | Elbasan | U10500 | siehe Elbasan-Skript |
10530 | 1056F | Aghbanian | U10530 | siehe Aghbanisches Alphabet |
10570 | 105FF | Reservieren | - | - |
10600 | 1077F | Linear A | U10600 | siehe Linear A |
10780 | 107FF | Reservieren | - | - |
10800 | 1083F | Zypriotische Silbenschrift | U10800 | siehe zypriotische Silbenschrift |
10840 | 1085F | Kaiserliches Aramäisch | U10840 | siehe Aramäisches Alphabet |
10860 | 1087F | Palmyrenisches Alphabet | U10860 | siehe Palmyrenisches Alphabet |
10880 | 108AF | Nabatäer | U10880 | siehe nabatäisches Alphabet |
108B0 | 108DF | Reservieren | - | - |
108E0 | 108FF | Hatrenianer | U108E0 | siehe Hatrénien-Alphabet ( fr ) |
10900 | 1091F | phönizisch | U10900 | siehe phönizisches Alphabet |
10920 | 1093F | Lydian | U10920 | siehe Lydisches Alphabet |
10940 | 1097F | Reservieren | - | - |
10980 | 1099F | Meroitische Hieroglyphen | U10980 | siehe Meroitisches Skript |
109A0 | 109FF | Meroitische Kursive | U109A0 | siehe Meroitisches Skript |
10A00 | 10A5F | Kharochth . | U10A00 | siehe Alphabet kharoshthi |
10A60 | 10A7F | Südarabisch | U10A60 | siehe Südarabisches Alphabet |
10A80 | 10A9F | Nordarabisch | U10A80 | siehe Altarabischer Norden (de) |
10AA0 | 10ABF | Reservieren | - | - |
10AC0 | 10AFF | Manichäer | U10AC0 | siehe Manichäisches Alphabet (de) |
10B00 | 10B3F | Avestisch | U10B00 | siehe Avestisches Alphabet (de) |
10B40 | 10B5F | Parthische Inschriften | U10B40 | siehe Parthische Inschriften (de) |
10B60 | 10B7F | Pehlevi der Inschriften | U10B60 | siehe Pehlevi-Skript |
10B80 | 10BAF | Pehlevi der Psalter | U10B80 | siehe Pehlevi-Schrift , Psalter |
10BB0 | 10BFF | Reservieren | - | - |
10C00 | 10C4F | Orchon | U10C00 | siehe Orchon-Alphabet |
10C50 | 10C7F | Reservieren | - | - |
10C80 | 10CFF | Alt Ungarisch | U10C80 | siehe Ungarische Runen |
10D00 | 10E5F | Reservieren | - | - |
10E60 | 10E7F | Rumi digitale Symbole | U10E60 | siehe Figuren von Fez , Fez |
10E80 | 10FDF | Reservieren | - | - |
10FE0 | 10FFF | Elymaisch | U10FE0 | siehe Élymaïque (de) |
11000 | 1107F | Brahmane | U11000 | siehe Brahmi |
11080 | 110CF | Khaithi | U11080 | siehe Khaithi |
110D0 | 110FF | Sora sompeng | U110D0 | siehe Alphabet sora sompeng (de) |
11100 | 1114F | Chakma | U11100 | siehe Ojhapath |
11150 | 1117F | Mahajan | U11150 | siehe Mahâjanî (in) |
11180 | 111DF | Charada | U11180 | siehe Alphasyllabary Sharda |
111E0 | 111FF | Singhalesische archaische Zahlen | U111E0 | siehe Singhalesisch |
11200 | 1124F | Khojki | U11200 | siehe Khojki (de) |
11250 | 1127F | Reservieren | - | - |
11280 | 112AF | Multani | U11280 | siehe Multani-Alphabet (de) |
112B0 | 112FF | Chudabadi | U112B0 | siehe Khudabadi schreiben (en) |
11300 | 1137F | Grantha | U11300 | siehe Grantha |
11380 | 113FF | Reservieren | - | - |
11400 | 1147F | Newa | U11400 | siehe Alphabet Newa (de) |
11480 | 114DF | Tirhuta | U11480 | siehe Tirhuta |
114E0 | 1157F | Reservieren | - | - |
11580 | 115FF | Siddham | U11580 | siehe Alphasyllabary siddham |
11600 | 1165F | Modi | U11600 | siehe Modi Alphasyllabary |
11660 | 1167F | Mongolische Ergänzung | U11660 | siehe Mongolisch |
11680 | 116CF | Takri | U11680 | siehe Alphabet Takri (de) |
116D0 | 116FF | Reservieren | - | - |
11700 | 1173F | Ahom | U11700 | siehe Alphasyllabaire âhom |
11740 | 1189F | Reservieren | - | - |
118A0 | 118FF | Warang-Stadt | U118A0 | siehe Warang Citi (de) |
11900 | 11999 | Reservieren | - | - |
119A0 | 119FF | nandinâgarî | U119A0 | siehe Nandinagari (de) |
11A00 | 11A4F | Quadratischer Zanabazar | U11A00 | siehe Zanabazar , Mongolisch |
11A50 | 11AAF | Soyombo | U11A50 | siehe Soyombo-Skript |
11AB0 | 11ABF | Reservieren | - | - |
11AC0 | 11AFF | Paou chin haou | U11AC0 | siehe Schreiben von Paou chin haou (de) |
11B00 | 11BFF | Reservieren | - | - |
11C00 | 11C6F | Bhaiksuki | U11C00 | siehe Alphabet Bhaiksuki (de) |
11C70 | 11CBF | Marken | U11C70 | siehe Zhang-zhung |
11CC0 | 11CFF | Reservieren | - | - |
11D00 | 11D5F | Masaram gondi | U11D00 | siehe Masaram Gondi (en) , Gondi |
11D60 | 11FBF | Reservieren | - | - |
11FC0 | 11FFF | Tamilische Ergänzung | U11FC0 | siehe Tamil |
12000 | 123FF | Keilschrift | U12000 | siehe Keilschrift |
12400 | 1247F | Satzzeichen und Keilschriftzahlen | U12400 | siehe Keilschrift |
12480 | 1254F | Keilschrift der archaischen Dynastien | U12480 | siehe Keilschrift |
12550 | 12FFF | Reservieren | - | - |
13000 | 1342F | Ägyptische Hieroglyphen | U13000 | siehe ägyptische Hieroglyphenschrift |
13430 | 1343F | Steuerelemente für die Formatierung ägyptischer Hieroglyphen | U13430 | siehe ägyptische Hieroglyphenschrift |
13440 | 143FF |
Reserviert (Teil 1) (Teil 2) |
- | - |
14400 | 1467F | Anatolische Hieroglyphen | U14400 | siehe anatolische Hieroglyphen |
14680 | 167FF |
Reserviert (Teil 1) (Teil 2) (Teil 3) |
- | - |
16800 | 16A3F | Bambus-Ergänzung | U16800 | siehe Bamoun-Skript |
16A40 | 16A6F | Mehr | U16A40 | siehe Sprache Herr (de) |
16A70 | 16ACF | Reservieren | - | - |
16AD0 | 16AFF | Bassa | U16AD0 | siehe Alphabet bassa |
16B00 | 16B8F | Pahawh hmong | U16B00 | siehe Pahawh hmong |
16B90 | 16EFF | Reservieren | - | - |
16F00 | 16F9F | Miao | U16F00 | siehe Miao schreiben (de) |
16FA0 | 16FDF | Reservieren | - | - |
16FE0 | 16FFF | Ideografische Symbole und Satzzeichen | U16FE0 | siehe Ideogram , Tangut Schreiben , Nushu |
17000 | 187FF | Tangoute (Teil 1) (Teil 2) |
U17000 | siehe Tangoute-Schreiben |
18800 | 18AFF | Tangut-Komponenten | U18800 | siehe Tangoute-Schreiben |
18B00 | 1AFFF |
Reserviert (Teil 1) (Teil 2) (Teil 3) |
- | - |
1B000 | 1B0FF | Kana-Ergänzung | U1B00 | siehe Japanisch , Japanische Schriften , Kana |
1B100 | 1B12F | Erweitertes Kana A | U1B100 | siehe Japanisch , Japanische Schriften , Kana , Hentaigana |
1B130 | 1B16F | Erweiterung kleines Kana | U1B130 | siehe Japanisch , Japanische Schriften , Kana , Hentaigana |
1B170 | 1B2FF | Nüshu | U1B170 | siehe Nüshu |
1B300 | 1BBFF | Reservieren | - | - |
1BC00 | 1BC9F | Duplizierte Kurzschrift | U1BC00 | siehe Stenographie , Émile Duployé |
1BCA0 | 1CFFF |
Reserviert (Teil 1) (Teil 2) |
- | - |
1D000 | 1D0FF | Byzantinische Musiksymbole | U1D000 | siehe Byzantinische Musik |
1D100 | 1D1FF | Westliche Musiksymbole | U1D100 | siehe westliche Musik |
1D200 | 1D24F | Altgriechische Musiknotation | U1D200 | siehe Antike griechische Musik |
1D250 | 1D2FF | Reservieren | - | - |
1D300 | 1D35F | Supreme Mystery Classic Symbole Classic | U1D300 | siehe Tai Xuan Jing (de) |
1D360 | 1D37F | Chinesische Strichmännchen | U1D360 | siehe Taktzählung |
1D380 | 1D3FF | Reservieren | - | - |
1W400 | 1D7FF | Alphanumerische mathematische Symbole | U1D400 | siehe Mathematisches Symbol , lateinisches Alphabet , arabische Ziffern |
1D800 | 1DAAF | Suttons Zeichen schreiben | U1D800 | siehe Schilder schreiben |
1DAB0 | 1DFFF | Reservieren | - | - |
1E000 | 1E02F | Glagolytische Ergänzung | U1E000 | siehe glagolitisches Alphabet |
1E030 | 1E0FF | Reservieren | - | - |
1E100 | 1E14F | Nyiakeng Puachue Hmong | U1E800 | siehe Nyiakeng puachue hmong (de) |
1E150 | 1E2DF | Reservieren | - | - |
1E2C0 | 1E2FF | Wancho | U1E2C0 | siehe Wancho |
1E300 | 1E7FF | Reservieren | - | - |
1E800 | 1E8DF | Betteln kikakui | U1E800 | siehe Kikakui |
1E8E0 | 1E8FF | Reservieren | - | - |
1E900 | 1E95F | Adlam | U1E900 | siehe Alphabet adlam |
1E960 | 1ECFF | Reservieren | - | - |
1ED00 | 1ED4F | Syaq-Figuren | U1ED00 | |
1ED50 | 1ECFF | Reservieren | - | - |
1EE00 | 1EEFF | Arabische mathematische Alphabetsymbole | U1EE00 | siehe Arabische Mathematik |
1EF00 | 1EFFF | Reservieren | - | - |
1F000 | 1F02F | Mahjong-Stücke | U1F000 | siehe Mah-jong |
1F030 | 1F09F | Domino | U1F030 | siehe Dominos |
1F0A0 | 1F0FF | Kartenspielen | U1F0A0 | siehe Spielkarten |
1F100 | 1F1FF | Eingekreiste alphanumerische Ergänzung | U1F100 | siehe ARIB STD-B24 (de) |
1F200 | 1F2FF | Eingekreiste ideografische Ergänzung | U1F200 | siehe ARIB STD-B24 (de) |
1F300 | 1F5FF | Verschiedene Symbole und Piktogramme | U1F300 | siehe Piktogramm , Emoji |
1F600 | 1F64F | Emoticons | U1F600 | siehe Emoticon , Emoji |
1F650 | 1F67F | Zierkassette | U1F650 | siehe Wingdings |
1F680 | 1F6FF | Transport- und kartografische Symbole | U1F680 | siehe Transport , Kartographie , Emoji |
1F700 | 1F77F | Alchemistische Symbole | U1F700 | siehe Alchemie |
1F780 | 1F7FF | Erweiterte geometrische Formen | U1F780 | siehe Geometrische Form |
1F800 | 1F8FF | Pfeile ergänzen C | U1F800 | siehe Pfeil |
1F900 | 1F9FF | Zusätzliche Symbole und Piktogramme | U1F900 | siehe Piktogramm , Emoticon , Emoji |
1FA00 | 1FA6F | Reservieren | - | - |
1FA70 | 1FAFF | Symbole und Piktogramme erweitert-A | U1FA70 | siehe Piktogramm , Emoji |
1FB00 | 1FFFF | Reservieren | - | - |
Codepunkte | Offizieller Blockname | Finde mehr heraus | |
---|---|---|---|
Start | Ende | ||
20.000 | 2A6DF | CJC Unified Ideograms Supplement B ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) |
siehe Chinesisch, Japanisch und Koreanisch |
2A6E0 | 2A6FF | Reservieren | - |
2A700 | 2B73F | Ergänzung C zu CJC Unified Ideograms ( Teil 1 ) ( Teil 2 ) |
siehe Chinesisch, Japanisch und Koreanisch |
2B740 | 2B81F | Ergänzung D zu einheitlichen CJC-Ideogrammen | siehe Chinesisch, Japanisch und Koreanisch |
2B820 | 2CEAF | Ergänzung E zu den einheitlichen CJC-Ideogrammen | siehe Chinesisch, Japanisch und Koreanisch |
2CEB0 | 2EBEF | Ergänzung F zu den einheitlichen CJC-Ideogrammen | siehe Chinesisch, Japanisch und Koreanisch |
2EBF0 | 2F7FF | Reservieren | - |
2F800 | 2FA1F | Ergänzung zu CJC-Kompatibilitäts-Ideogrammen | siehe Chinesisch, Japanisch und Koreanisch |
2FA20 | 2FFFF | Reservieren | - |
Codepunkte | Offizieller Blockname | Finde mehr heraus | |
---|---|---|---|
Start | Ende | ||
30.000 | 3FFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 3 |
40.000 | 4FFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 4 |
50.000 | 5FFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 5 |
60.000 | 6FFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 6 |
70.000 | 7FFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 7 |
80.000 | 8FFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 8 |
90.000 | 9FFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 9 |
A0000 | AFFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
10 planen |
B0000 | BFFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 11 |
C0000 | CFFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Planen Sie 12 |
D0000 | DFFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
Plan 13 |
Codepunkte | Offizieller Blockname | Bemerkungen | |
---|---|---|---|
Start | Ende | ||
E0000 | E007F | Etiketten | |
E0080 | E00FF | Reservieren | - |
E0100 | E01EF | Variantenauswahl-Ergänzung | |
E01F0 | EFFFF |
Reserviert ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
- |
Codepunkte | Offizieller Blockname | Offizielles PDF | Bemerkungen | |
---|---|---|---|---|
Start | Ende | |||
F0000 | FFFFF |
Zusatzzone A für private Nutzung ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
UF0000 | Kein offiziell definiertes Merkmal |
100.000 | 10FFFF |
Zusätzliche Zone B für den privaten Gebrauch ( Teil 1 ) ( Teil 2 ) ( Teil 3 ) ( Teil 4 ) ( Teil 5 ) ( Teil 6 ) ( Teil 7 ) ( Teil 8 ) ( Teil 9 ) ( Teil 10 ) ( Teil 11 ) ( Teil 12 ) ( Teil 13 ) ( Teil 14 ) ( Teil 15 ) ( Teil 16 ) ( Teil 17 ) |
U100000 | Kein offiziell definiertes Merkmal |
Private Nutzungsbereiche enthalten nicht die gleichen Augen von einer Schriftart zur anderen und sollten daher für Codierungstexte vermieden werden, die für den Austausch zwischen heterogenen Systemen bestimmt sind. Diese Codepunkte für den privaten Gebrauch sind jedoch gültig und können in jeder automatisierten Verarbeitung verwendet werden, die den Standards Unicode und ISO / IEC 10646 entspricht , auch zwischen verschiedenen Systemen, wenn eine private gegenseitige Vereinbarung über ihre Verwendung besteht.
In Ermangelung einer Vereinbarung zwischen den beiden Parteien können Systeme, die diese Zeichen verwenden, die sie enthaltenden Texte ablehnen, weil die Verarbeitung, der sie unterzogen werden, nicht ordnungsgemäß funktionieren oder Sicherheitsprobleme verursachen könnte; andere Systeme, die diesen Zeichen keine besondere Funktion zuschreiben, müssen sie hingegen als gültig akzeptieren und als integralen Bestandteil der Texte beibehalten, als wären sie grafische Symbole, auch wenn sie nicht wissen, wie sie angezeigt werden sollen sie richtig.
Nicht-Zeichen sind gültige Codepunkte, aber sie werden (und werden nie) standardisierten Zeichen zugewiesen. Ihre Verwendung bei der Kodierung von Texten, die zwischen Systemen übertragen werden (auch wenn sie identisch sind), ist verboten, weil es unmöglich ist, sie mit den den standardisierten universellen Transformationsformen (einschließlich UTF-8, UTF-16, UTF-32) entsprechenden Kodierungen kompatibel zu machen, und andere standardisierte Kodierungen, die mit Unicode und ISO / IEC 10646 kompatibel sind ( BOCU -1, SCSU , verschiedene Versionen des chinesischen Standards GB 18030 , etc. ). Einige Systeme erzeugen und verwenden sie jedoch lokal, jedoch für eine streng interne Verarbeitung, die die Implementierung von Textverarbeitungsalgorithmen unter Verwendung der anderen standardisierten Zeichen erleichtern soll.
Unter diesen letzteren Nichtzeichen sind gültige Codepunkte, die für Halbzonen (privat oder nicht) reserviert sind. Diese Codepunkte können nicht einzeln verwendet werden, um ein Zeichen zu codieren. Sie werden nur für die universelle UTF-16-Transformationsform (und die entsprechenden Codierungsschemata) verwendet, um an zwei Codepunkten (jeweils 16 Bit) gültige Codepunkte in einer der 16 komplementären Ebenen darzustellen (bestimmte Kombinationen von Codepunkten entsprechen gültigen Zeichen von diese Pläne, Standard- oder Privatpläne, andere Kombinationen dürfen keinen gültigen Charakter darstellen, da sie Nicht-Charakteren dieser ergänzenden Pläne entsprechen würden und daher in normkonformen Texten verboten sind).
Andere freie Bereiche (die keinem standardisierten benannten Block zugeordnet sind oder Codepunkte freigelassen und in bestehenden benannten Blöcken reserviert sind) sind für die zukünftige Verwendung in zukünftigen Versionen von Unicode und ISO / IEC 10646 reserviert , aber gültig . Jedes System, das mit Texten arbeitet, die diese reservierten Codepunkte enthalten, muss sie ohne Filterung akzeptieren. Unicode definiert Standardeigenschaften für hypothetische entsprechende Zeichen, um die Kompatibilität von Systemen (die dem Unicode-Standard entsprechen) mit zukünftigen konformen Texten, die sie enthalten, zu bewahren. Keine konforme Anwendung sollte ihnen einen besonderen Charakter oder eine besondere Semantik zuweisen (private Bereiche sind für diese Verwendung vorgesehen).