Besonderheiten (Unicode-Block) - Specials (Unicode block)

Sonderangebote
Bereich U+FFF0..U+FFFF
(16 Codepunkte)
Ebene BMP
Skripte Verbreitet
Zugewiesen 5 Codepunkte
Ungebraucht 9 reservierte Codepunkte
2 Nicht-Zeichen
Unicode-Versionsverlauf
1.0.0 (1991) 1 (+1)
2.1 (1998) 2 (+1)
3,0 (1999) 5 (+3)
Hinweis :

Specials ist ein kurzer Unicode- Block, der ganz am Ende der Basic Multilingual Plane bei U+FFF0–FFFF zugewiesen wird . Von diesen 16 Codepunkten wurden seit Unicode 3.0 fünf vergeben:

  • U+FFF9 INTERLINEAR ANNOTATION ANCHOR , markiert den Anfang des annotierten Textes
  • U+FFFA INTERLINEAR ANNOTATION SEPARATOR , markiert den Beginn des/der Anmerkungszeichen(s)
  • U+FFFB INTERLINEAR ANNOTATION TERMINATOR , markiert das Ende des Kommentarblocks
  • U + FFFC OBJECT REPLACEMENT CHARACTER , Platzhalter im Text fürweitere nicht näher bezeichnete Objekt, beispielsweise in einemzusammengesetzten Dokument.
  • U+FFFD ERSATZZEICHEN verwendet, um ein unbekanntes, nicht erkanntes oder nicht darstellbares Zeichen zu ersetzen
  • U+FFFE <noncharacter-FFFE> kein Zeichen.
  • U+FFFF <noncharacter-FFFF> kein Zeichen.

FFFE und FFFF sind nicht im üblichen Sinne unbelegt, sondern garantiert überhaupt keine Unicode-Zeichen . Sie können verwendet werden, um das Kodierungsschema eines Textes zu erraten, da jeder Text, der diese enthält, per Definition kein korrekt kodierter Unicode-Text ist. Das Zeichen U+FEFF BYTE ORDER MARK von Unicode kann am Anfang eines Unicode-Textes eingefügt werden, um seine Endianness zu signalisieren : Ein Programm, das einen solchen Text liest und auf 0xFFFE trifft, würde dann wissen, dass es die Byte-Reihenfolge für alle folgenden Zeichen ändern sollte.

Sein Blockname in Unicode 1.0 war Special .

Ersatzzeichen

Ersatzzeichen

Das Ersatzzeichen (oft als schwarzer Rhombus mit weißem Fragezeichen dargestellt) ist ein Symbol, das im Unicode- Standard am Codepunkt U+FFFD in der Specials- Tabelle zu finden ist. Es wird verwendet, um auf Probleme hinzuweisen, wenn ein System nicht in der Lage ist, einen Datenstrom in ein korrektes Symbol umzuwandeln. Es wird normalerweise angezeigt, wenn die Daten ungültig sind und keinem Zeichen entsprechen:

Stellen Sie sich eine Textdatei vor, die das deutsche Wort für in der ISO-8859-1- Kodierung ( 0x66 0xFC 0x72) enthält. Diese Datei wird nun mit einem Texteditor geöffnet, der davon ausgeht, dass die Eingabe UTF-8 ist . Das erste und letzte Byte sind gültige UTF-8-Codierungen von ASCII, aber das mittlere Byte ( 0xFC) ist kein gültiges Byte in UTF-8. Daher könnte ein Texteditor dieses Byte durch das Ersatzzeichensymbol ersetzen, um eine gültige Zeichenfolge von Unicode- Codepunkten zu erzeugen . Der gesamte String wird jetzt so angezeigt: "f r".

Ein schlecht implementierter Texteditor kann die Ersetzung im UTF-8-Format speichern; die Textdateidaten sehen dann so aus: 0x66 0xEF 0xBF 0xBD 0x72, die in ISO-8859-1 als "f�r" angezeigt werden (dies wird mojibake genannt ). Da die Ersetzung für alle Fehler gleich ist, ist es unmöglich, das ursprüngliche Zeichen wiederherzustellen. Ein besseres (aber schwieriger zu implementierendes) Design besteht darin, die ursprünglichen Bytes einschließlich des Fehlers beizubehalten und nur bei der Anzeige des Textes in die Ersetzung zu konvertieren . Dadurch kann der Texteditor die ursprüngliche Bytesequenz speichern, während dem Benutzer weiterhin die Fehleranzeige angezeigt wird.

Früher wurde das Ersatzzeichen oft verwendet, wenn für dieses Zeichen keine Glyphe in einer Schriftart verfügbar war. Die meisten modernen Textwiedergabesysteme verwenden jedoch stattdessen das .notdef- Zeichen einer Schriftart , das in den meisten Fällen ein leeres Kästchen (oder "?" oder "X" in einem Kästchen) ist, manchmal auch als " Tofu " bezeichnet (dieser Browser zeigt ???? ). Für dieses Symbol gibt es keinen Unicode-Codepoint.

Somit wird das Ersatzzeichen jetzt nur noch bei Codierungsfehlern, wie beispielsweise ungültigem UTF-8, angezeigt. Einige Software versucht, dies zu verbergen, indem sie die Bytes von ungültigem UTF-8 in übereinstimmende Zeichen in Windows-1252 übersetzt (da dies die wahrscheinlichste Quelle dieser Fehler ist), sodass das Ersatzzeichen nie angezeigt wird.

Unicode-Diagramm

Sonderangebote
Offizielle Codetabelle des Unicode-Konsortiums (PDF)
  0 1 2 3 4 5 6 7 8 9 EIN B C D E F
U+FFFx  IA 
A
 IA 
S
 IA 
T
Anmerkungen
1. ^ Ab Unicode-Version 14.0
2. ^ Graue Bereiche zeigen nicht zugewiesene Codepunkte an
3. ^ Schwarze Bereiche zeigen Nichtzeichen an (Codepunkte, die im Unicode-Standard garantiert nie als codierte Zeichen zugewiesen werden)

Geschichte

Die folgenden Unicode-bezogenen Dokumente dokumentieren den Zweck und den Prozess der Definition bestimmter Zeichen im Specials-Block:

Ausführung Endgültige Codepunkte Zählen UTC-  ID L2-  ID WG2-  ID Dokumentieren
1.0.0 U+FFFD 1 (bestimmt werden)
U+FFFE..FFFF 2 (bestimmt werden)
L2/01-295R Moore, Lisa (2001-11-06), "Motion 88-M2", Protokoll des UTC/L2-Meetings #88
L2/01-355 N2369 (html , doc ) Davis, Mark (2001-09-26), Antrag auf Zulassung von FFFF, FFFE in UTF-8 im Text von ISO/IEC 10646
L2/02-154 N2403 Umamaheswaran, VS (2002-04-22), "9.3 Allowing FFFF and FFFE in UTF-8", Entwurf des Protokolls der WG 2-Sitzung 41, Hotel Phoenix, Singapur, 2001-10-15/19
2.1 U+FFFC 1 UTC/1995-056 Sargent, Murray (1995-12-06), Empfehlung zur Kodierung eines WCH_EMBEDDING-Zeichens
UTC/1996-002 Alirand, Joan; Hart, Edwin; Greenfield, Steve (1996-03-05), "Embedded Objects", UTC #67 Minuten
N1365 Sargent, Murray (1996-03-18), Zusammenfassung des Vorschlags – Objektersatzzeichen
N1353 Umamaheswaran, VS; Ksar, Mike (1996-06-25), "8.14", Entwurf des Protokolls des WG2 Copenhagen Meeting # 30
L2/97-288 N1603 Umamaheswaran, VS (1997-10-24), "7.3", Unbestätigte Sitzungsprotokolle, WG 2 Meeting # 33, Heraklion, Kreta, Griechenland, 20. Juni – 4. Juli 1997
L2/98-004R N1681 Text von ISO 10646 – AMD 18 für PDAM-Registrierung und FPDAM-Abstimmung , 1997-12-22
L2/98-070 Alirand, Joan; Winkler, Arnold, "Zusätzliche Bemerkungen zu 2.1", Protokoll des gemeinsamen Treffens von UTC und L2 vom Treffen in Cupertino, 25.-27. Februar 1998
L2/98-318 N1894 Überarbeiteter Text von 10646-1/FPDAM 18, ÄNDERUNG 18: Symbole und andere , 1998-10-22
3.0 U+FFF9..FFFB 3 L2/97-255R Aliprand, Joan (1997-12-03), "3.D Proposal for In-Line Notation (ruby)", Genehmigtes Protokoll – UTC #73 & L2 #170 gemeinsame Sitzung, Palo Alto, CA – 4.-5. August 1997
L2/98-055 Freytag, Asmus (1998-02-22), Unterstützung bei der Implementierung von Inline- und Interlinear-Annotationen
L2/98-070 Alirand, Joan; Winkler, Arnold, "3.C.5. Support for Implementation inline and interlinear annotations", Protokoll des gemeinsamen UTC- und L2-Meetings vom Meeting in Cupertino, 25.-27. Februar 1998
L2/98-099 N1727 Freytag, Asmus (1998-03-18), Unterstützung für die Implementierung interlinearer Annotationen, wie sie in der ostasiatischen Typografie verwendet werden
L2/98-158 Alirand, Joan; Winkler, Arnold (1998-05-26), "Inline and Interlinear Annotations", Draft Minutes – UTC #76 & NCITS Subgroup L2 #173 Joint Meeting, Tredyffrin, Pennsylvania, 20.-22. April 1998
L2/98-286 N1703 Umamaheswaran, VS; Ksar, Mike (1998-07-02), "8.14", Unbestätigte Sitzungsprotokolle, WG 2 Sitzung #34, Redmond, WA, USA; 1998-03-16--20
L2/98-270 Hiura, Hideki; Kobayashi, Tatsuo (1998-07-29), Vorschlag zum Vorschlag für Inline- und Interlinear-Annotationen
L2/98-281R (pdf , html ) Aliprand, Joan (1998-07-31), "In-Line and Interlinear Annotation (III.C.1.c)", Unbestätigte Protokolle – UTC #77 & NCITS Subgroup L2 #174 JOINT MEETING, Redmond, WA – Juli 29-31, 1998
L2/98-363 N1861 Sato, TK (1998-09-01), Ruby-Marker
L2/98-372 N1884R2 (pdf , doc ) Pfeifer, Ken; et al. (1998-09-22), Zusätzliche Zeichen für das UCS
L2/98-416 N1882.zip Unterstützung für die Implementierung interlinearer Annotationen , 1998-09-23
L2/98-329 N1920 Kombinierte PDAM-Registrierung und Berücksichtigungsabstimmung auf WD für ISO/IEC 10646-1/Amd. 30, ÄNDERUNG 30: Zusätzliche lateinische und andere Zeichen , 1998-10-28
L2/98-421R Suignard, Michel; Hiura, Hideki (1998-12-04), Anmerkungen zu den PDAM 30 interlinearen Annotationszeichen
L2/99-010 N1903 (pdf , html , doc ) Umamaheswaran, VS (1998-12-30), "8.2.15", Protokoll der Sitzung der WG 2 35, London, UK; 1998-09-21--25
L2/98-419 (pdf , doc ) Aliprand, Joan (1999-02-05), "Interlinear Annotation Characters", Genehmigtes Protokoll -- UTC #78 & NCITS Subgroup L2 # 175 Joint Meeting, San Jose, CA -- 1.-4. Dezember 1998
UTC/1999-021 Dürst, Martin; Bosak, Jon (1999-06-08), W3C XML CG-Statement zu Anmerkungszeichen
L2/99-176R Moore, Lisa (1999-11-04), "W3C Liaison Statement on Annotation Characters", Protokoll des gemeinsamen UTC/L2-Treffens in Seattle, 8.-10. Juni 1999
L2/01-301 Whistler, Ken (2001-08-01), "E. Angezeigt als "stark entmutigt" für den Austausch von reinem Text", Analyse der Zeichenverschlechterung im Unicode-Standard

Siehe auch

Verweise