ISO/IEC 2022
Sprachen) | Verschiedene. |
---|---|
Standard | ISO/IEC 2022, ECMA-35, Ansi x3.41, Jis x 0202 |
Einstufung | Staatsbürgerlich System von Codierungen (mit staatenlosen vorkonfigurierten Teilmengen) |
Transformationen / codiert | US-Ascii und je nach Implementierung:
|
gefolgt von | ISO/IEC 10646 (Unicode) |
Andere verwandte Kodierungen (en) | Staatliche Untergruppen: ISO-2022-JP, ISO-2022-CN, ISO-2022-kr Vorkonfigurierte Versionen: ISO/IEC 4873, EUC |
ISO/IEC 2022 Informationstechnologie - Charakter -Code -Struktur und Erweiterungstechniken, ist ein ISO/IEC Standard (entspricht der ECMA Standard ECMA-35,[1][2] das Ansi Standard ANSI X3.41[3] und die Japanischer Industriestandard Jis x 0202) auf dem Gebiet der Zeichenkodierung. Es wurde 1971 entstanden und wurde zuletzt 1994 überarbeitet.[4]
ISO 2022 Gibt eine allgemeine Struktur an, die Charaktercodierungen entsprechen können, die bestimmte Bereiche von Bytes widmen (Bytes (0x00–1f und 0x7f-9f), die zum Nichtzustand verwendet werden sollen Kontrollcodes[5] Für Formatierungs- und In-Band-Anweisungen (wie z. Zeilenumbrüche oder formatieren Anweisungen für Text Terminals) und nicht grafische Zeichen. Es gibt auch eine Syntax für Escape-Sequenzen an, mehrere Byte-Sequenzen, die mit dem beginnen ESC Steuercode, der ebenfalls für In-Band-Anweisungen verwendet werden kann.[6] Spezifische Sätze von Kontrollcodes und Escape -Sequenzen, die mit ISO 2022 verwendet werden sollen, enthalten ISO/IEC 6429Teile davon werden von implementiert von Ansi.sys und Terminalemulatoren.
ISO 2022 selbst definiert auch bestimmte Kontrollcodes und Escape -Sequenzen, die zum Umschalten zwischen verschiedenen verwendet werden können codierte Zeichensätze (Zum Beispiel dazwischen ASCII und die Japaner Jis x 0208), um mehrere in einem einzelnen Dokument zu verwenden,[7] effektiv zu einem einzigen kombinieren Staatsbürgerlich Codierung (ein Merkmal weniger wichtig seit dem Aufkommen von Unicode). Es ist so konzipiert, dass es in 8-Bit-Umgebungen und 7-Bit-Umgebungen verwendet werden kann (in denen nur sieben Bit in einem Byte verwendet werden können, wie z. Email ohne 8bitmime).[8]
Codierungen und Konformität
Schreibsysteme mit relativ wenigen Zeichen wie z. griechisch, kyrillisch, Arabisch, oder hebräischsowie Formen der Lateinisches Alphabet Verwendung Diakritik oder Buchstaben, die in der Abwesenheit fehlen ISO Basic Latin Alphabet, wurden historisch gesehen auf Computern mit unterschiedlichem 8- repräsentiertbisschen, Single Byte, erweiterte ASCII Codierungen. Einige davon, wie die ISO 8859 Serie, entspricht ISO 2022,[9][10] während andere wie DOS -Code Seite 437 NICHT, in der Regel die Reservierung der Bytes 0x80–9F für Kontrollcodes nicht.
Sicher Ostasiate Sprachen speziell Chinesisch, japanisch, und Koreanisch (gemeinsam "CJK"), werden mit weit mehr Zeichen geschrieben als das Maximum von 256, die in einem einzigen Byte dargestellt werden können, und wurden zunächst auf Computern mit sprachspezifisch dargestellt Doppelbyte-Codierungen oder Codierungen der variablen Breite; einige davon (wie die Vereinfachtes Chinesisch Codierung GB 2312) entspricht ISO 2022, während andere (wie die Traditionelles Chinesisch Codierung Die großen 5) unterlassen Sie. Kontrollcodes in ISO 2022 werden immer mit einem einzigen Byte dargestellt, unabhängig von der Anzahl der für grafischen Zeichen verwendeten Bytes. CJK-Codierungen, die in 7-Bit-Umgebungen verwendet werden, die verwendet werden ISO 2022 Mechanismen, die zwischen den Zeichensätzen wechseln ISO-2022-JP, obwohl einige andere CJK -Codierungen wie z. EUC-JP Verwenden Sie auch ISO 2022 -Mechanismen.[11][12]
Seit dem ersten 256 Codepunkte von Unicode wurden von ISO 8859-1, Unicode erbt das Konzept von C0- und C1 -Kontrollcodes von ISO 2022, obwohl es hinzugefügt wird Andere nicht druckende Charaktere Neben den ISO 2022 -Kontrollcodes. Jedoch, Unicode -Transformationsformate wie zum Beispiel UTF-8 Abweichen im Allgemeinen auf verschiedene Weise von der ISO 2022 -Struktur, einschließlich:
- Mit 8-Bit UTF-1)
- Darstellung aller Zeichen, einschließlich Kontrollcodes, mit mehreren Bytes (z. UTF-16, UTF-32)
- Bytes mit dem mischen höchstwertiges Bit Setzen und nicht festgelegt in der codierten Darstellung für einen einzelnen Codepunkt (z. B. UTF-1, GB 18030)
ISO 2022 Escape-Sequenzen existieren jedoch zum Wechsel zu und von UTF-8 als ""Codierungssystem unterscheidet sich von dem von ISO 2022",",[13] die von bestimmten gestützt werden Terminalemulatoren wie zum Beispiel Xterm.[14]
Überblick
Elemente
ISO/IEC 2022 Gibt Folgendes an:
- Eine Infrastruktur mehrerer Zeichensätze mit bestimmten Strukturen, die in einem einzigen enthalten sein können Zeichenkodierung System, einschließlich mehrerer grafischer Zeichensätze und mehrerer Sätze von beidem Primär- (C0 )- und Sekundär- (C1) -Koduscodes,[15]
- Ein Format zur Codierung dieser Sätze, vorausgesetzt, dass 8 Bit pro Byte verfügbar sind.[16]
- Ein Format zur Codierung dieser Sets im selben Codierungssystem, wenn nur 7 Bit pro Byte verfügbar sind.[17] und eine Methode zur Transformation von konformanten Zeichendaten, um eine solche 7-Bit-Umgebung zu bestehen,[8]
- Die allgemeine Struktur von Ansi Escape Codes,[6] und
- Spezifische Escape -Code -Formate zur Identifizierung individueller Zeichensätze,[7] Für die Ankündigung der Verwendung bestimmter Codierungsfunktionen oder Untergruppen,[18] und zum Interagieren mit oder zum Wechsel zu anderen Codierungssystemen.[18]
Codeversionen
Eine bestimmte Implementierung muss nicht den gesamten Standard implementieren. Die Konformitätsniveau und die unterstützten Zeichensätze werden durch die Implementierung definiert. Obwohl viele der vom ISO/IEC 2022 -Standard definierten Mechanismen selten verwendet werden, basieren mehrere etablierte Kodierungen auf einer Teilmenge des ISO/IEC 2022 -Systems.[19] Insbesondere umfassen 7-Bit-Codierungssysteme mit ISO/IEC 2022-Mechanismen ISO-2022-JP (oder Jis codieren), das hauptsächlich in japanischer Sprache verwendet wurde Email. 8-Bit-Codierungssysteme, die an ISO/IEC 2022 entsprechen ISO/IEC 4873 (ECMA-43), was wiederum angemessen ist durch ISO/IEC 8859,[9][10] und Erweiterter Unix -Code, was verwendet wird für Ostasiate Sprachen.[11] Spezialisiertere Anwendungen von ISO 2022 umfassen die Marc-8 Codierungssystem verwendet in Marc 21 Bibliotheksaufzeichnungen.[3]
Bezeichnung Escape -Sequenzen
Die Escape -Sequenzen zum Umschalten zu bestimmten Zeichensätzen oder -codierungen sind mit dem registriert ISO-IR Registrierung (mit Ausnahme derjenigen, die für den privaten Gebrauch getrennt sind, deren Bedeutungen von Anbietern oder durch Protokollspezifikationen wie z. ARIB STD-B24) und folgen Sie den im Standard definierten Mustern. Zeichencodierungen, die diese Escape -Sequenzen verwenden, müssen nacheinander in eine Vorwärtsrichtung verarbeitet werden, da die korrekte Interpretation der Daten von zuvor aufgetretenen Escape -Sequenzen abhängt.
Spezifische Profile wie ISO-2022-JP können zusätzliche Bedingungen auferlegen, z. Darüber hinaus können die Escape-Sequenzen, in denen die nationalen Charakter-Sets deklariert werden, nicht vorhanden sein, wenn eine bestimmte ISO-2022-basierte Codierungsgenehmigung oder dies erfordert, dass bestimmte nationale Zeichensätze verwendet werden sollen. Zum Beispiel besagt ISO-8859-1, dass keine definierende Fluchtsequenz erforderlich ist, und RFC 1922, das ISO-2022-CN definiert, ermöglicht die Verwendung von ISO-2022-Schichtzeichen ohne explizite Verwendung von Escape-Sequenzen.
Multi-Byte-Charaktere
Um große Zeichensets darzustellen, baut ISO/IEC 2022 auf ISO/IEC 646's Eigenschaft, dass ein sieben-Bit-Zeichen normalerweise 94 grafische (druckbare) Zeichen definiert (zusätzlich zu Platz und 33 Steuerzeichen); Wenn nur die C0 -Kontrollcodes (eng definiert) ausgeschlossen sind, kann dies auf 96 Zeichen erweitert werden. Mit zwei Bytes ist es daher möglich, bis zu 8.836 (94 × 94) Zeichen darzustellen. und mit drei Bytes bis zu 830.584 (94 × 94 × 94) Zeichen. Obwohl der Standard es definiert, verwendet kein registriertes Zeichensatz drei Bytes (obwohl EUC-TW's nicht registrierter G2 tut ebenso wie die ähnlich nicht registrierten CCCII).
Für die Zwei-Byte-Charakter-Sets die Codepunkt jedes Zeichens ist normalerweise in sogenannten Spezifikationen angegeben Reihenzelle oder Kuten[a] Form, das zwei Zahlen zwischen 1 und 94 umfasst, inklusive eine Zeile angeben[b] und Zelle[c] von diesem Charakter innerhalb der Zone. Für ein Drei-Byte-Set ein zusätzliches Flugzeug[d] Die Nummer ist zu Beginn enthalten.[20] Die Escape-Sequenzen erklären nicht nur, welches Zeichensatz verwendet wird, sondern auch, ob der Satz Single-Byte oder Multi-Byte ist (obwohl nicht wie viele Bytes es verwendet, wenn es sich um Multi-Byte handelt) und auch, ob jedes Byte 94 hat 94 oder 96 zulässige Werte.
Codestruktur
Notation und Nomenklatur
Die Codierung von ISO/IEC 2022 gibt eine zweischichtige Zuordnung zwischen Zeichencodes und angezeigten Zeichen an. Fluchtsequenzen Lassen Sie eine große Registrierung grafischer Zeichensätze "bezeichnet" werden[21] In einem von vier Arbeitssätzen namens G0 bis G3 und kürzeren Kontrollsequenzen geben die Arbeitssätze an, die "aufgerufen" wird.[22] Bytes im Stream interpretieren.
Codierung von Byte -Werten ("Bitkombinationen") werden häufig in angegeben Spaltenzeilennotation, wobei zwei Dezimalzahlen im Bereich 00–15 (jeweils einer einzelnen hexadezimalen Ziffer entsprechen) durch einen Schrägstrich getrennt werden.[23] Zum Beispiel kann Codes 2/0 (0x20) bis 2/15 (0x2f) einschließlich "Spalte 02" bezeichnet werden. Dies ist die Notation, die im ISO / IEC 2022 / ECMA-35-Standard selbst verwendet wird.[24] Sie können an anderer Stelle beschrieben werden hexadezimal, wie oft in diesem Artikel verwendet oder die entsprechenden ASCII -Zeichen verwenden,[25] Obwohl die Escape -Sequenzen tatsächlich in Bezug auf Byte -Werte definiert sind und die dem Bytewert zugewiesene Grafik geändert werden kann, ohne die Kontrollsequenz zu beeinflussen.
Bytewerte aus dem 7-Bit-ASCII-Grafikbereich (hexadezimal 0x20–0x7f), der sich auf der linken Seite einer Zeichencode-Tabelle befindet, werden als "GL" -Codes bezeichnet (mit "GL" für "Grafiken links" stehend)) Während Bytes aus dem Bereich "High ASCII" (0xa0–0xff), falls verfügbar (d. H. In einer 8-Bit-Umgebung), als "GR" -Codes bezeichnet werden ("Grafik richtig").[5] Die Begriffe "CL" (0x00–0x1f) und "CR" (0x80–0x9f) sind für die Kontrollbereiche definiert, aber der CL -Bereich ruft immer die primären (C0) -Kontrollen auf, während der Cr -Bereich immer entweder den Sekundärbereich (C1) aufruft (C1 ) kontrolliert oder ist ungenutzt.[5]
Behoben codierte Zeichen
Das Charakter löschen Del (0x7f), die Escape-Zeichen ESC (0x1b) und die Weltraumcharakter SP (0x20) werden als "feste" codierte Zeichen bezeichnet[26] und sind immer erhältlich, wenn G0 über GL aufgerufen wird, unabhängig davon, welche Charakter -Sets ausgewiesen sind. Sie sind möglicherweise nicht in grafische Zeichensätze einbezogen, obwohl andere Größen oder Arten von Whitespace -Charakter vielleicht.[27]
Allgemeine Syntax von Escape -Sequenzen
Sequenzen, die das ESC (Escape) -Charnia verwenden, nehmen die Form an Esc [i ...] f
, wobei der ESC -Charakter von Null oder mehr Zwischen Bytes folgt[28] (I) aus dem Bereich 0x20–0x2f und einem endgültigen Byte[29] (F) aus dem Bereich 0x30–0x7e.[30]
Der Erste I Byte oder Abwesenheit bestimmt die Art der Fluchtsequenz; Es kann beispielsweise eine Arbeitssatz bezeichnen oder eine einzelne Steuerfunktion bezeichnen. In allen Arten von Escape -Sequenzen, F Bytes im Bereich 0x30–0x3f sind nicht registrierte private Verwendungen vorbehalten, die durch vorherige Vereinbarung zwischen den Parteien definiert sind.[31]
Kontrollfunktionen aus einigen Sätzen können nach der richtigen Fluchtsequenz weitere Bytes verwenden. Zum Beispiel die ISO 6429 Steuerfunktion "Kontrollsequenz -Einführung", die unter Verwendung einer Escape -Sequenz dargestellt werden können, folgt von null oder mehr Bytes im Bereich 0x30–0x3f, dann null oder mehr Bytes im Bereich 0x20–0x2f, dann mit einem einzelnen Byte im Bereich 0x40–0x7e, die, die Die gesamte Sequenz wird als "Kontrollsequenz" bezeichnet.[32]
Grafische Zeichensätze
Jeder der vier Arbeitssätze G0 bis G3 kann ein 94-Charakter-Set oder ein 94 seinn-Charakter Multi-byte-Set. Zusätzlich kann G1 bis G3 ein 96- oder 96 seinn-Character set.
In einem 96- oder 96n-Character-Set, die Bytes 0x20 bis 0x7f, wenn GL-infokiert oder 0xa0 bis 0xff beim Gr-infokierten, werden zugeteilt und können vom Satz verwendet werden. In einem 94- oder 94n-Character set, die Bytes 0x20 und 0x7f werden nicht verwendet.[33] Wenn ein 96- oder 96n-Character Set wird in der GL-Region aufgerufen, der Speicherplatz und die Löschen von Zeichen (Codes 0x20 und 0x7f) sind erst mit 94 oder 94 verfügbarn-Character set (wie das G0 -Set) wird in GL aufgerufen.[5] 96-Charakter-Sets können nicht auf G0 ausgewiesen werden.
Die Registrierung eines Satzes als 96-Charakter-Set bedeutet nicht unbedingt, dass die Bytes 0x20/A0 und 0x7f/FF tatsächlich vom Satz zugewiesen sind. Einige Beispiele für grafische Zeichensätze, die als 96 Sets registriert sind, diese Bytes jedoch nicht verwenden, enthalten den G1-Satz von von IST. 434,[34] die Boxzeichnung von Set von ISO/IEC 10367,[35] und ISO-IR-164 (eine Teilmenge des G1-Satzes von ISO-8859-8 mit nur den Buchstaben, verwendet von von Ccitt).[36]
Charaktere kombinieren
Es wird erwartet, dass Zeichen abgeschaltet werden und Zeichen nicht kombinieren, sofern nicht durch den fraglichen grafischen Satz angegeben.[37] ISO 2022 / ECMA-35 erkennt auch die Verwendung des Rücktaste und Wagenrückgewinnungssteuerungszeichen als Mittel zur Kombination ansonsten Abstandszeichen sowie der CSI -Sequenz "Grafikcharakterkombination" (GCC)[37] (CSI 0x20 (sp) 0x5f (_)
).[38]
Die Verwendung der Rückseite und der Kutschrückgabe auf diese Weise ist durch ISO/IEC 646 aber verboten von ISO/IEC 4873 / ECMA-43[39] und von ISO/IEC 8859,[40][41] Auf der Grundlage, dass es das grafische Charakterrepertoire undefiniert lässt. ISO / IEC 4873 / ECMA-43 ermöglicht jedoch die Verwendung der GCC .[42]
Kontrollzeichensätze
Steuerungszeichensätze werden als "primäre" oder "sekundäre" Kontrollcode -Sets klassifiziert.[43] jeweils auch "C0" und "C1" -Kontrollcode -Sets genannt.[44]
Ein C0 -Steuerungssatz muss das ESC -Kontrollcharakter bei 0x1b enthalten[45] (Ein C0-Set, der nur ESC enthält, ist als ISO-IR-104 registriert).[46] Während ein C1 -Steuerungssatz möglicherweise keinerlei Fluchtsteuerung enthält.[33] Daher sind sie völlig getrennte Registrierungen, wobei ein C0 -Set nur ein C0 -Set und ein C1 -Set nur ein C1 -Set ist.[44]
Wenn Codes aus dem C0-Satz von ISO 6429 / ECMA-48, d. H. Die ASCII -Kontrollcodes, erscheinen im C0-Set, sie müssen an ihren Standorten ISO 6429 / ECMA-48 erscheinen.[45] Einbeziehung von Transmissionskontrollzeichen in den C0-Set neben den zehn von ISO 6429 / ECMA-48 (nämlich Soh, STX, ETX, EOT, ENQ, ACK, DLE, NAK, Syn und ETB) enthalten[47] oder die Einbeziehung einer dieser zehn im C1-Set ist auch vom ISO / IEC 2022 / ECMA-35-Standard verboten.[45][33]
Ein C0 -Steuerungssatz wird über den CL -Bereich 0x00 bis 0x1f aufgerufen.[48] Während eine C1-Kontrollfunktion über den CR-Bereich 0x80 bis 0x9f (in einer 8-Bit-Umgebung) oder durch Verwendung von Fluchtsequenzen (in einer 7-Bit- oder 8-Bit-Umgebung) aufgerufen werden kann, kann es sein.[43] aber nicht beide. Welcher Stil des C1 -Aufrufs verwendet wird, muss in der Definition der Codeversion angegeben werden.[49] Zum Beispiel, ISO/IEC 4873 Gibt CR -Bytes für die C1 -Steuerelemente an (SS2 und SS3).[50] Bei Bedarf kann der Aufruf verwendet werden Anscer -Sequenzen.
Im letzteren Fall werden einzelne Steuerungsfunktionen aus dem C1 -Steuercodessatz mit "Typ Fe" -Filko -Escape -Sequenzen aufgerufen.[33] Das heißt diejenigen, bei denen das ESC -Steuerungszeichen von einem Byte aus den Spalten 04 oder 05 folgt (das heißt, ESC 0x40 (@)
durch ESC 0x5f (_)
).[51]
Andere Kontrollfunktionen
Zusätzliche Kontrollfunktionen werden den Escape -Sequenzen "Typ fs" (im Bereich type fs "zugeordnet ESC 0x60 (`)
durch ESC 0x7e (~)
); Diese haben dauerhaft Bedeutungen zugewiesen und nicht je nach C0- oder C1 -Bezeichnungen.[51][52] Die Registrierung von Kontrollfunktionen zum Typ "fs" -Sequenzen muss von genehmigt werden durch ISO/IEC JTC 1/SC 2.[52] Andere Einzelsteuerungsfunktionen können registriert sein, um "3ft" Escape -Sequenzen (im Bereich "einzugeben ESC 0x23 (#) [i ...] 0x40 (@)
durch ESC 0x23 (#) [i ...] 0x7e (~)
),[53] Obwohl derzeit keine "3ft" -Sequenzen zugeordnet sind (ab 2019).[54]
Die folgenden Escape -Sequenzen sind für einzelne Kontrollfunktionen zugewiesen:[54]
Code | Verhexen | Abbr. | Name | Wirkung |
---|---|---|---|---|
Esc ` | 1b 60 | DMI | Manuelle Eingabe deaktivieren | Deaktiviert einige oder alle manuellen Eingangsanlagen des Geräts. |
Esc a | 1b 61 | Int | Unterbrechen | Unterbricht den aktuellen Prozess. |
Esc b | 1b 62 | EMI | Manuelle Eingabe aktivieren | Ermöglicht die manuellen Eingangsanlagen des Geräts. |
Esc c c | 1b 63 | Ris | Auf den Anfangszustand zurücksetzen | Setzt das Gerät nach dem Einschalten in seinen Zustand zurück. |
Esc d | 1b 64 | CMD | Codierungsmethode Grenzwerbung | Verwendet bei der Interaktion mit einem äußeren Codierungs- / Repräsentationssystem, siehe unten. |
Esc n | 1b 6e | LS2 | Verriegelungsverschiebung zwei | Schichtfunktion, siehe unten. |
Esc o | 1b 6f | LS3 | Verriegelungsverschiebung drei | Schichtfunktion, siehe unten. |
Esc | | 1b 7c | LS3R | Verschiebung der Verschiebung drei rechts | Schichtfunktion, siehe unten. |
ESC } | 1b 7d | LS2R | Verschiebung der Verschiebung zwei rechts | Schichtfunktion, siehe unten. |
Esc ~ | 1b 7e | Ls1r | Verriegelung Verschiebung eins rechts | Schichtfunktion, siehe unten. |
Escape -Sequenzen vom Typ "FP" (ESC 0x30 (0)
durch ESC 0x3f (?)
) oder vom Typ "3FP" (ESC 0x23 (#) [i ...] 0x30 (0)
durch ESC 0x23 (#) [i ...] 0x3f (?)
) sind durch vorherige Vereinbarung zwischen den Parteien für Kontrollcodes für einzelne private Nutzung reserviert.[55] Mehrere solcher Sequenzen beider Typen werden von verwendet Dez Terminals wie die VT100und werden somit von unterstützt von Terminalemulatoren.[14]
Schichtfunktionen
Standardmäßig geben GL0 -Zeichen und GR -Codes (sofern verfügbar) G1 -Zeichen an. Dies kann ansonsten durch vorherige Vereinbarung festgelegt werden. Der über jeden Bereich aufgerufene Satz kann auch mit Kontrollcodes als Verschiebungen geändert werden, wie in der folgenden Tabelle gezeigt.[56]
Ein 8-Bit-Code kann GR-Codes enthalten, die G1-Zeichen angeben, d. H. Mit seinem entsprechenden 7-Bit-Code verwendet Verschieben und Verschieben Um zwischen den Sätzen zu wechseln (z. Jis x 0201),[57] Obwohl einige stattdessen GR-Codes haben, die G2-Zeichen angeben, wobei der entsprechende 7-Bit-Code einen Einzelschichtcode verwendet, um auf den zweiten Satz zuzugreifen (z. T.51).[58]
Die in der folgenden Tabelle gezeigten Codes sind die häufigsten Codierungen dieser Kontrollcodes, die an entsprechen. ISO/IEC 6429. Die Verschiebungen LS2, LS3, LS1R, LS2R und LS3R sind als Einzelsteuerungsfunktionen registriert und immer als die unten aufgeführten Escape -Sequenzen codiert.[54] Während die anderen Teil eines C0- oder C1 -Kontrollcodessatzes sind (wie unten gezeigt, sind Si (LS0) und SO (LS1) C0 -Steuerelemente und SS2 und SS3 sind C1 -Kontrollen), was bedeutet, dass ihre Codierung und Verfügbarkeit je nachdem, welche Kontrollsätze sind bezeichnet: Sie müssen in den angegebenen Steuerungssätzen vorhanden sein, wenn ihre Funktionalität verwendet wird.[48][49] Der C1 kontrolliert sich, wie oben erwähnt, mit Fluchtsequenzen oder 8-Bit-Bytes, jedoch nicht beides dargestellt.
Alternative Codierungen der Einzelverschiebungen als C0-Steuercodes sind in bestimmten Steuercodesets verfügbar. Zum Beispiel sind SS2 und SS3 normalerweise bei 0x19 bzw. 0x1d in erhältlich T.51[58] und T.61.[59] Diese Codierung wird derzeit von ISO / IEC 2022 / ECMA-35 für Anwendungen empfohlen, bei denen 7-Bit-Single-Byte-Darstellungen von SS2 und SS3 erforderlich sind.[60] und kann auch nur für SS2 verwendet werden,[61] Obwohl ältere Code mit SS2 bei 0x1c ebenfalls vorhanden ist, existieren auch ältere Code, obwohl es auch vorhanden ist[62][63][64] und wurden als solche in einer früheren Ausgabe des Standards erwähnt.[65] Die Codierung der einzelnen Verschiebungen von 0x8e und 0x8f, wie unten gezeigt, ist obligatorisch für ISO/IEC 4873 Level 2 und 3.[66]
Code | Verhexen | Abbr. | Name | Wirkung |
---|---|---|---|---|
Si | 0f | Si LS0 | Verschieben Verriegelungsverschiebung Null | GL kodiert G0 von nun an[67][68] |
ALSO | 0e | ALSO LS1 | Verschieben Verriegelung Verschiebung eins | GL kodiert G1 von nun an[67][68] |
Esc n | 1b 6e | LS2 | Verriegelungsverschiebung zwei | GL kodiert G2 von nun an[67][68] |
Esc o | 1b 6f | LS3 | Verriegelungsverschiebung drei | GL kodiert G3 von nun an[67][68] |
CR -Bereich: SS2 Fluchtcode: Esc n | CR -Bereich: 8e Fluchtcode: 1b 4e | SS2 | Einzelschicht zwei | GL oder GR (siehe unten) codiert G2 nur für den unmittelbaren folgenden Charakter[69] |
CR -Bereich: SS3 Fluchtcode: Esc o | CR -Bereich: 8f Fluchtcode: 1b 4f | SS3 | Einzelschicht drei | GL oder GR (siehe unten) codiert G3 nur für den unmittelbaren folgenden Charakter[69] |
Esc ~ | 1b 7e | Ls1r | Verriegelung Verschiebung eins rechts | GR codiert G1 von nun an[70] |
ESC } | 1b 7d | LS2R | Verschiebung der Verschiebung zwei rechts | GR kodiert G2 von nun an[70] |
Esc | | 1b 7c | LS3R | Verschiebung der Verschiebung drei rechts | GR codiert G3 von nun an[70] |
Obwohl offiziell als Schichtcodes betrachtet und dementsprechend benannt wurde, werden Einzelverschiebungscodes nicht immer als Verschiebungen angesehen,[12] und sie können einfach als Präfix-Bytes angesehen werden (d. H. Die ersten Bytes in einer Multi-Byte-Sequenz).[11] Da er nicht verlangen, dass der Encoder den aktuell aktiven Satz als behält wie Zustandim Gegensatz zu Verriegelungsschaltcodes. In 8-Bit-Umgebungen, entweder GL oder GR, aber nicht beides, können als Einzelschichtbereich verwendet werden. Dies muss in der Definition der Codeversion angegeben werden.[69] Zum Beispiel, ISO/IEC 4873 Gibt GL an, während gepackter EUC Gibt Gr. In 7-Bit-Umgebungen wird nur GL als Einzelschichtbereich verwendet.[71][72] Bei Bedarf kann ein Einzelschichtbereich verwendet werden Anscer -Sequenzen.
Die Namen "Verriegelungsverschiebung null" (LS0) und "Verriegelungsverschiebung eins" (LS1) beziehen ). Der Standard bezieht sich jedoch als LS0 und LS1, wenn sie in 8-Bit-Umgebungen und als SI verwendet werden und wenn sie in 7-Bit-Umgebungen verwendet werden.[56]
Die Standard-ISO / IEC 2022 / ECMA-35-Standardgenehmigungen, entmutigen jedoch, G1, G2 oder G3 sowohl in GL als auch in GR aufzurufen.[73]
Registrierung von grafischen und Kontrollcodesätzen
Das ISO Internationales Register der codierten Zeichensätze, die mit Escape -Sequenzen verwendet werden sollen (ISO-IR) Listet grafische Zeichensätze, Steuercodesätze, Einzelsteuercodes usw. auf, die für die Verwendung mit ISO/IEC 2022 registriert wurden ISO/IEC 2375. Jede Registrierung erhält eine eindeutige Fluchtsequenz und eine eindeutige Registrierungsnummer, um sie zu identifizieren.[74][75] Zum Beispiel die Ccitt Zeichensatz für Vereinfachtes Chinesisch ist bekannt als ISO-IR-165.
Die Registrierung codierter Zeichensätze mit der ISO-IR-Registrierung identifiziert die Dokumente, in denen die Zeichensatz- oder Kontrollfunktion angegeben ist, die mit einer ISO/IEC 2022-Escape-Sequenz nicht nutzungsgebrauchsbedarf zugeordnet ist. Dies kann ein Standarddokument sein; Die Registrierung schafft jedoch keinen neuen ISO -Standard, verpflichtet die ISO oder IEC nicht, ihn als internationalen Standard zu übernehmen, und bestreitet die ISO oder IEC nicht, um einen seiner Charaktere zu den Figuren hinzuzufügen Universal codiertes Zeichensatz.[76]
ISO-IR-registrierte Escape-Sequenzen werden auch in a eingekapselt Formal Public Identifier Charaktersätze identifizieren SGML (ISO 8879). Zum Beispiel die Zeichenfolge ISO 646-1983//CHARSET International Reference Version (IRV)//ESC 2/5 4/0
kann verwendet werden, um die internationale Referenzversion von zu identifizieren ISO 646-1983,[77] und die Html 4.01 Spezifikation verwendet ISO Registration Number 177//CHARSET ISO/IEC 10646-1:1993 UCS-4 with implementation level 3//ESC 2/5 2/15 4/6
Unicode identifizieren.[78] Die textuelle Darstellung der Escape -Sequenz, die im dritten Element des FPI enthalten ist, wird von SGML -Implementierungen für unterstützte Zeichensätze erkannt.[77]
Charakter -Set -Bezeichnungen
Escape -Sequenzen, um Zeichensätze zu bestimmen, nehmen Sie das Formular an Esc i [ich ...] f
. Wie oben erwähnt, das Zwischenprodukt (I) Bytes stammen aus dem Bereich 0x20–0x2f und das Finale (F) Byte stammt aus dem Bereich 0x30–0x7e. Der Erste I Byte (oder für einen Multi-Byte-Set die ersten beiden) identifiziert die Art des Zeichensatzes und den Arbeitssatz, für den es ausgewiesen werden soll, während die F Byte (und alle zusätzlichen I Bytes) Identifizieren Sie das im ISO-IR-Register zugewiesene Zeichensatz selbst (oder für die privaten Fluchtsequenzen durch vorherige Vereinbarung).
Zusätzlich I Bytes können vor dem hinzugefügt werden F Byte, um die zu verlängern F Byte -Reichweite. Dies wird derzeit nur mit 94-Zeichen-Sätzen verwendet, wobei Codes des Formulars Esc (! F
wurden zugewiesen.[79] Im anderen Extremfall wurden keine Multibyte-96-Sets registriert, sodass die folgenden Sequenzen streng theoretisch sind.
Wie bei anderen Escape-Sequenztypen ist der Bereich 0x30–0x3f für private Gebrauch reserviert F Bytes,[31] In diesem Fall für private Gebrauchszeichen-Set-Definitionen (einschließlich nicht registrierter Sätze, die durch Protokolle wie z. B. definiert sind ARIB STD-B24[80] oder Marc-8,[3] oder ferverspezifische Sets wie z. Dec Special Grafiken).[81] In einer grafischen Set -Bezeichnungssequenz, falls die zweite I Byte (für ein Single-Byte-Set) oder das dritte I Byte (für eine Doppel-Byte-Menge) ist 0x20 (Space), das bezeichnete Set ist a "Dynamisch neu definierbarer Zeichensatz"(DRCS) definiert durch vorherige Vereinbarung,[82] das wird auch als privater Verwendung angesehen.[31] Ein grafischer Satz, der als DRCs betrachtet wird, impliziert, dass es eine Schriftart von exakten Glyphen darstellt, anstatt eine Reihe abstrakter Zeichen.[83] Die Art und Weise, wie DRCs-Sets und zugehörige Schriftarten übertragen, zugewiesen und verwaltet werden F Byte 0x40 (@
);[84] Eine Art und Weise für die Übertragung von DRCS -Schriftarten ist jedoch in einigen Telekommunikationsprotokollen wie definiert, z. World System TeleText.[85]
Es gibt auch drei Sonderfälle für Multi-Byte-Codes. Die Codesequenzen Esc $ @
, Esc $ a
, und Esc $ b
wurden alle registriert, wenn die zeitgenössische Version des Standards zulässigen Multi-Byte-Sets nur in G0 setzt, und muss daher anstelle der Sequenzen akzeptiert werden Esc $ ( @
durch Esc $ (b)
zum G0 -Charakter -Set zu bestimmen.[86]
Es gibt zusätzliche (selten verwendete) Funktionen für das Schalten der Steuerungsschwerpunktsätze, aber dies ist eine einstufige Lookup, in der (wie oben erwähnt) der C0-Satz immer über CL aufgerufen wird und der C1-Set immer über Cr oder von aufgerufen wird Verwenden von Fluchtcodes. Wie oben erwähnt, ist es erforderlich, dass ein C0 -Zeichensatz das ESC -Zeichen an Position 0x1b umfasst, sodass weitere Änderungen möglich sind. Die Sequenzen zur Bezeichnungssequenzen für Steuerungssätze (im Gegensatz zu den grafischen Mengen) können auch von innen verwendet werden ISO/IEC 10646 (UCS/Unicode) in Kontexten, in denen Verarbeitung Ansi Escape Codes ist angemessen, vorausgesetzt, dass jedes Byte in der Sequenz auf die Größe der Codeeinheit der Codierung gepolstert wird.[87]
Eine Tabelle der Fluchtsequenz I Bytes und die Bezeichnung oder andere Funktion, die sie ausführen, finden Sie unten.[88]
Code | Verhexen | Abbr. | Name | Wirkung | Beispiel |
---|---|---|---|---|---|
Esc sp f | 1b 20 f | ACS | Codestruktur ankündigen | Gibt die verwendeten Codefunktionen an, z. Arbeitssätze (siehe unter).[89] | Esc sp l (ISO 4873 Level 1) |
ESC ! F | 1b 21 f | CZD | C0-Designat | F Wählt einen C0 -Steuerungszeichen aus, der verwendet werden soll.[90] | ESC ! @ (ASCII -C0 -Codes)) |
Esc "f | 1b 22 f | C1D | C1-Designat | F Wählt ein C1 -Steuerungszeichen aus, das verwendet werden soll.[91] | Esc "c (ISO 6429 C1 -Codes)) |
Esc # f | 1b 23 f | - | (Einzelsteuerungsfunktion) | (Reserviert für Sequenzen für Kontrollfunktionen, siehe oben.)) | Esc # 6 (Privatnutzung: Dez. Doppelte Breite Linie)[92] |
|
| GZDM4 | G0-Designat Multibyte 94-Set | F Wählt eine 94 ausn-Character set für G0 verwendet.[86] | Esc $ (c (KS x 1001 in G0) |
Esc $) f | 1b 24 29 f | G1DM4 | G1-Designat Multibyte 94-Set | F Wählt eine 94 ausn-Character set für G1 verwendet.[86] | Esc $) a (GB 2312 in G1) |
Esc $ * f | 1b 24 2a f | G2DM4 | G2-Designat Multibyte 94-Set | F Wählt eine 94 ausn-Character set für G2 verwendet.[86] | Esc $ * b (Jis x 0208 in G2) |
Esc $ + f | 1b 24 2b f | G3DM4 | G3-Designat Multibyte 94-Set | F Wählt eine 94 ausn-Character set für G3 verwendet.[86] | Esc $ + d (Jis x 0212 in G3) |
Esc $, f | 1b 24 2c f | - | (nicht benutzt) | (nicht benutzt)[f] | - |
Esc $ - f | 1b 24 2d f | G1DM6 | G1-Designat Multibyte 96-Set | F Wählt eine 96 ausn-Character set für G1 verwendet.[86] | Esc $ - 1 (privater Gebrauch) |
Esc $. F | 1b 24 2e f | G2DM6 | G2-Designat Multibyte 96-Set | F Wählt eine 96 ausn-Character set für G2 verwendet.[86] | Esc $. 2 (privater Gebrauch) |
Esc $ / f | 1b 24 2f f | G3DM6 | G3-Designat Multibyte 96-Set | F Wählt eine 96 ausn-Character set für G3 verwendet.[86] | Esc $ + 3 (privater Gebrauch) |
Esc% f | 1b 25 f | Dokumente | Bezeichnen Sie ein anderes Codierungssystem | Switches -Codierungssystem, siehe unten. | Esc% g (UTF-8)) |
Esc & f | 1b 26 f | IRR | Identifizieren Sie überarbeitete Registrierung | Präfixe Bezeichnung Escape Escape, um Revision zu bezeichnen.[g] | Esc & @ Esc $ b (JIS X 0208: 1990 in G0) |
Esc 'f | 1b 27 f | - | (nicht benutzt) | (nicht benutzt) | - |
Esc (f | 1b 28 f | GZD4 | G0-Designat 94-Set | F Wählt einen 94-Charakter-Satz aus, der für G0 verwendet werden soll.[86] | Esc (b (ASCII in G0) |
Esc) f | 1b 29 f | G1D4 | G1-designate 94-set | F Wählt einen 94-Charakter-Satz aus, der für G1 verwendet werden soll.[86] | Esc) i (Jis x 0201 Kana in G1) |
Esc * f | 1b 2a f | G2D4 | G2-Designat 94-Set | F Wählt einen 94-Charakter-Satz aus, der für G2 verwendet werden soll.[86] | Esc * v (Itu t.61 RHS in G2) |
Esc + f | 1b 2b f | G3D4 | G3-Designat 94-Set | F Wählt einen 94-Charakter-Satz aus, der für G3 verwendet werden soll.[86] | Esc + d (NATS-SEFI-ADD in G3) |
Esc, f | 1b 2c f | - | (nicht benutzt) | (nicht benutzt)[h] | - |
Esc - f | 1b 2d f | G1D6 | G1-designate 96-set | F Wählt einen 96-Charakter-Satz aus, der für G1 verwendet werden soll.[86] | Esc - a (ISO 8859-1 RHS in G1) |
ESC . F | 1b 2e f | G2D6 | G2-Designat 96-Set | F Wählt einen 96-Charakter-Satz aus, der für G2 verwendet werden soll.[86] | ESC . B (ISO 8859-2 RHS in G2) |
Esc / f | 1b 2f f | G3D6 | G3-Designat 96-Set | F Wählt einen 96-Charakter-Satz aus, der für G3 verwendet werden soll.[86] | Esc / b (ISO 8859-15 RHS in G3) |
Beachten Sie, dass die Registrierung von F Bytes ist für die verschiedenen Typen unabhängig. Das mit 94-Charakter-Grafik-Set, das von bezeichnet wird Esc (a
durch Esc + a
ist in keiner Weise mit dem 96-Charakter-Set verwandt, das von benannt wurde Esc - a
durch Esc / a
. Und keiner davon hängt mit dem 94 zusammenn-Character -Set bezeichnet von Esc $ (a
durch Esc $ + a
, usw; Die endgültigen Bytes müssen im Kontext interpretiert werden. (In der Tat ohne mittlere Bytes, Esc a
ist eine Möglichkeit, den C1 -Steuercode 0x81 anzugeben.)
Beachten Sie auch, dass C0- und C1 -Kontrollzeichen -Sets unabhängig sind; Das C0 -Steuerungsschildset wurde von bezeichnet von ESC ! EIN
(Dies ist der NATS -Steuerungssatz für die Zeitungstextübertragung) ist nicht dasselbe wie das von C1 Control Character Set, das von bezeichnet wird Esc "a
(das Ccitt Attributsteuerungssatz für Videotex).
Interaktion mit anderen Codierungssystemen
Der Standard definiert auch eine Möglichkeit, Codierungssysteme anzugeben, die nicht seiner eigenen Struktur folgen.
Eine Sequenz ist auch für die Rückkehr zu ISO/IEC 2022 definiert. Die Registrierungen, die diese Sequenz unterstützen, wie in ISO/IEC 2022 codiert Videotex Formate, UTF-8, und UTF-1.[96] Eine Sekunde I Byte von 0x2f (/
) ist in den Bezeichnungssequenzen von Codes enthalten, die diese Byte -Sequenz nicht verwenden, um zu ISO 2022 zurückzukehren. Sie können ihre eigenen Mittel haben, um zu ISO 2022 zurückzukehren (wie eine andere oder gepolsterte Sequenz) oder gar keine.[97] Alle vorhandenen Registrierungen des letzteren Typs (ab 2019) sind entweder transparente Rohdaten. Unicode/UCS -Formate, oder Untergruppen davon.[98]
Code | Verhexen | Abbr. | Name | Wirkung |
---|---|---|---|---|
ESC % @ | 1b 25 40 | Dokumente | Bezeichnen Sie ein anderes Codierungssystem ("Standard Return") | Kehren Sie von einer anderen Codierung zu ISO/IEC 2022 zurück.[97] |
Esc% f | 1b 25 f | Bezeichnen Sie ein anderes Codierungssystem ("mit Standardrückgabe")[96] | F wählt einen 8-Bit-Code aus; verwenden ESC % @ zurückgeben.[97] | |
Esc% / f | 1b 25 2f f | Bezeichnen Sie ein anderes Codierungssystem ("ohne Standardrückgabe")[98] | F wählt einen 8-Bit-Code aus; Es gibt keine Standardmethode zur Rückkehr.[97] | |
Esc d | 1b 64 | CMD | Codierungsmethode Grenzwerbung | Bezeichnet das Ende einer ISO/IEC 2022 -codierten Sequenz.[99] |
Von besonderem Interesse sind die Sequenzen, die zu wechseln ISO/IEC 10646 (Unicode) Formate, die nicht der ISO/IEC 2022 -Struktur folgen. Dazu gehören UTF-8 (der den Bereich 0x80–0x9f für Kontrollzeichen nicht reserviert), sein Vorgänger UTF-1 (das GR- und GL-Bytes in Multi-Byte-Codes mischt) sowie UTF-16 und UTF-32 (die verwenden breitere Codierungseinheiten).[96][98]
Mehrere Codes wurden auch für Untergruppen (Stufen 1 und 2) von UTF-8, UTF-16 und UTF-32 sowie für drei Ebenen von drei Ebenen registriert UCS-2.[98] Die einzigen Codes, die derzeit von ISO/IEC 10646 angegeben werden, sind jedoch die Codes Level-3 für UTF-8, UTF-16 und UTF-32 sowie der Code für UTF-8, der nicht spezifiziert ist, wobei der Rest als veraltet aufgeführt ist.[100] ISO/IEC 10646 sieht vor, dass die Big-Endian Formate von UTF-16 und UTF-32 werden durch ihre Fluchtsequenzen bezeichnet.[101]
Unicode -Format | Code (en) | Verhexen[100] | Veraltete Codes | Veraltete Hex[96][98][100] |
---|---|---|---|---|
UTF-1 | (UTF-1 nicht in aktuellem ISO/IEC 10646.) | Esc% b | 1b 25 42 | |
UTF-8 | Esc% g , Esc% / i | 1b 25 47 ,[13] 1b 25 2f 49 [102] | Esc% / g , Esc% / h | 1b 25 2f 47 , 1b 25 2f 48 |
UTF-16 | Esc% / l | 1b 25 2f 4c [103] | ESC % / @ , Esc% / c , Esc% / e , Esc% / j , Esc% / k | 1b 25 2f 40 , 1b 25 2f 43 , 1b 25 2f 45 , 1b 25 2f 4a , 1b 25 2f 4b |
UTF-32 | Esc% / f | 1b 25 2f 46 | Esc% / a , Esc% / d | 1b 25 2f 41 , 1b 25 2f 44 |
Der Sequenzen, die auf UTF-8 wechseln, Esc% g
ist derjenige, der zum Beispiel unterstützt wird, Xterm.[14]
Obwohl die Verwendung einer Variante der Standard-Rücklaufsequenz von UTF-16 und UTF-32 zulässig ist, müssen die Bytes der Escape-Sequenz auf die Größe der Codeeinheit der Codierung gepolstert werden (d. H. 001B 0025 0040
Für UTF-16) entspricht die Codierung der Standard-Rückkehrsequenz nicht genau der ISO/IEC 2022. Aus diesem Grund verwenden die Bezeichnungen für UTF-16 und UTF-32 eine ohne standardmäßige Return-Syntax.[104]
Code -Struktur -Ankündigungen
Die Sequenz "Ankündigungscodestruktur" (ESC SP (0x20) f
) wird benutzt um bekannt geben Eine bestimmte Codestruktur oder eine bestimmte Gruppe von ISO 2022 -Einrichtungen, die in einer bestimmten Codeversion verwendet werden. Obwohl Ankündigungen kombiniert werden können, sind bestimmte widersprüchliche Kombinationen (insbesondere mit Ankündigungen von Verriegelungsverschiebungen 16–23 mit Ankündigungen 1, 3 und 4) vom Standard untersagt ISO/IEC 4873 Ebene Ankündigungen 12–14[89] (die die zulässigen strukturellen Merkmale vollständig angeben). Ankündigungssequenzen sind wie folgt:
Nummer | Code | Verhexen | Codeversionsfunktion angekündigt angekündigt[89] |
---|---|---|---|
1 | Esc sp a | 1b 20 41 | G0 in GL, GR abwesend oder unbenutzt, keine Verriegelungsverschiebungen. |
2 | Esc sp b | 1b 20 42 | G0 und G1 wurden in GL angerufen, indem Sie nicht mehr oder nicht verwendet werden. |
3 | Esc sp c | 1b 20 43 | G0 in GL, G1 in GR, keine Verriegelungsverschiebungen, erfordert eine 8-Bit-Umgebung. |
4 | Esc sp d | 1b 20 44 | G0 in GL, G1 in Gr, wenn 8-Bit, keine Verriegelungsverschiebungen, es sei denn, in einer 7-Bit-Umgebung. |
5 | Esc sp e | 1b 20 45 | Schichtfunktionen, die während der 7-Bit/8-Bit-Konvertierung erhalten sind. |
6 | Esc sp f | 1b 20 46 | C1 -Steuerelemente unter Verwendung von Escape -Sequenzen. |
7 | Esc sp g | 1b 20 47 | C1 steuert in der CR-Region in 8-Bit-Umgebungen, wie es ansonsten entkommen. |
8 | Esc sp h | 1b 20 48 | Nur 94-Charakter-Grafiksätze. |
9 | Esc sp i | 1b 20 49 | Grafiksätze mit 94-Charakter- und/oder 96-Charakter. |
10 | Esc sp j | 1b 20 4a | Verwendet einen 7-Bit-Code, auch wenn ein achtes Bit zur Verwendung verfügbar ist. |
11 | Esc spk | 1b 20 4b | Benötigt einen 8-Bit-Code. |
12 | Esc sp l | 1b 20 4c | Entspricht ISO/IEC 4873 (ECMA-43) Stufe 1. |
13 | Esc sp m | 1b 20 4d | Entspricht ISO/IEC 4873 (ECMA-43) Level 2. |
14 | Esc sp n | 1b 20 4e | Entspricht ISO/IEC 4873 (ECMA-43) Stufe 3. |
16 | Esc sp p | 1b 20 50 | SI / LS0 verwendet. |
18 | Esc sp r | 1b 20 52 | So / ls1 verwendet. |
19 | Esc sp s | 1b 20 53 | LS1R wurde in 8-Bit-Umgebungen verwendet und in 7-Bit-Umgebungen verwendet. |
20 | Esc spt | 1b 20 54 | LS2 verwendet. |
21 | Esc sp u | 1b 20 55 | LS2R verwendet in 8-Bit-Umgebungen, LS2 in 7-Bit-Umgebungen. |
22 | Esc sp v | 1b 20 56 | LS3 verwendet. |
23 | Esc sp w | 1b 20 57 | LS3R verwendet in 8-Bit-Umgebungen, LS3 in 7-Bit-Umgebungen. |
26 | Esc sp z | 1b 20 5a | SS2 verwendet. |
27 | Esc sp [ | 1b 20 5b | SS3 verwendet. |
28 | Esc sp \ | 1b 20 5c | Single-Shifts rufen über gr. |
ISO/IEC 2022 -Codeversionen

Sechs 7-Bit-ISO 2022-Codeversionen (ISO-2022-CN, ISO-2022-CN-EXT, ISO-2022-JP, ISO-2022-JP-1, ISO-2022-JP-2 und ISO-2022-KR ) werden definiert durch IETF RFCSvon denen ISO-2022-JP und ISO-2022-kR in der Vergangenheit ausgiebig verwendet wurden.[105] Eine Reihe anderer Varianten werden von Anbietern definiert, einschließlich der Anbieter IBM.[106] Obwohl UTF-8 die bevorzugte Kodierung ist HTML5, Legacy-Inhalt in ISO-2022-JP ist nach wie vor weitreichend, dass die Waswg Codierungsstandard behält die Unterstützung dafür,[107] Im Gegensatz zum Zuordnen von ISO-2022-KR, ISO-2022-CN und ISO-2022-CN-EXT-EXPT[108] ganz zum Ersatzcharakter,[109] aufgrund von Bedenken hinsichtlich Codeinjektion Angriffe wie Cross-Site-Scripting.[107][109]
8-Bit-Code-Versionen enthalten Erweiterter Unix -Code.[11][12] Das ISO/IEC 8859 Codings folgen auch ISO 2022 in einer in ISO/IEC 4873 festgelegten Untergruppe.[9][10]
Japanische E-Mail-Versionen
ISO-2022-JP
ISO-2022-JP ist eine weit verbreitete Codierung für Japanisch, insbesondere für Japanisch Email. Es wurde zur Verwendung im Junet -Netzwerk eingeführt und später in kodifiziert IETF RFC 1468, datiert 1993.[110] Es hat einen Vorteil gegenüber anderen Codierungen für Japanisch in dem es nicht erfordert 8-Bit sauber Übertragung. Microsoft ruft es an Code Seite 50220.[111] Es beginnt in ASCII und enthält die folgenden Escape -Sequenzen:
-
Esc (b
Um auf ASCII zu wechseln (1 Byte pro Zeichen) -
Esc (j
zu wechseln zu JIS X 0201-1976 (ISO/IEC 646: JP) Roman Set (1 Byte pro Charakter) -
Esc $ @
zu wechseln zu JIS X 0208-1978 (2 Bytes pro Charakter) -
Esc $ b
zu wechseln zu JIS X 0208-1983 (2 Bytes pro Charakter)
Die Verwendung der beiden in jis x 0208-1990 hinzugefügten Zeichen ist zulässig, ohne die IRR-Sequenz, d. H. Die gleiche Fluchtsequenz wie JIS X 0208-1983 zu verwenden.[110] Aufgrund der Registrierung vor der Benennung von Multi-Byte I-Byte (
.[86]
Der RFC stellt fest, dass einige vorhandene Systeme nicht unterschieden haben Esc (b
aus Esc (j
, oder nicht unterschieden Esc $ @
aus Esc $ b
, aber fest, dass die Escape-Sequenzen nicht durch Systeme geändert werden sollten, die einfach Nachrichten wie E-Mails weitergeben.[110] Das Waswg Codierungsstandard, auf das verwiesen wird HTML5 Griffe Esc (b
und Esc (j
deutlich, aber behandelt Esc $ @
das Gleiche wie Esc $ b
beim Dekodieren und nur verwendet Esc $ b
für JIS x 0208 beim Codieren.[112] Der RFC stellt auch fest, dass einige vergangene Systeme die Sequenz falsch verwendet hatten Esc (h
Um von JIS X 0208 wegzuschalten, was tatsächlich registriert ist für ISO-IR-11 (eine schwedische Variante von ISO 646 und World System TeleText).[110][ich]
Versionen mit Halbbreiten Katakana
Gebrauch von Esc (i
um zum Wechsel zum Wechsel zu der JIS X 0201-1976 Kana-Set (1 Byte pro Zeichen) ist nicht Teil des ISO-2022-JP-Profils,[110] wird aber manchmal auch verwendet. Python ermöglicht es in einer Variante, die es kennzeichnet ISO-2022-JP-EXT (Das enthält auch JIS x 0212 wie unten beschrieben und absolviert die Abdeckung von EUC-JP);[113][114] Dies ist sowohl in Namen als auch in der Struktur einer Codierung der Kodierung nahe ISO-2022-JPEXT durch Dez, was außerdem eine Zwei-Byte hinzufügt Benutzerdefinierte Region Zugriff mit Esc $ (0
die Abdeckung von abschließen Super Dec Kanji.[115] Die Variante von Whatwg/HTML5 ermöglicht es zu einer Dekodierung von JIS x 0201 Katakana in ISO-2022-JP-Eingang, wandelt die Zeichen jedoch in ihre JIS X 0208-Äquivalente nach Codierung um.[112] Microsoft-Code-Seite für ISO-2022-JP mit JIS x 0201 kana zusätzlich erlaubt ist Code Seite 50221.[111]
Andere ältere Varianten, die als bekannt als Jis7 und Jis8 Bauen Sie direkt auf die 7-Bit- und 8-Bit Jis x 0201 und die Verwendung von JIS x 0201 kana aus G1 ohne Fluchtsequenzen zulassen Verschieben und sich verschieben und sich verschieben oder das achte Bit festlegen (Grinzipiert).[116] Sie werden nicht weit verbreitet;[116] JIS x 0208 Unterstützung in erweiterten 8-Bit-JIs x 0201 wird häufiger über durch Schicht jis. Microsoft-Code-Seite für JIS X 0201-basierte ISO 2022 mit Single-Byte-Katakana durch Verschiebung und Verschiebung in IS Code Seite 50222.[111]
ISO-2022-JP-2
ISO-2022-JP-2 ist eine mehrsprachige Erweiterung von ISO-2022-JP, definiert in RFC 1554 (datiert 1993), das zusätzlich zu den ISO-2022-JP die folgenden Escape-Sequenzen ermöglicht. Das ISO/IEC 8859 Teile sind 96-Charakter-Sets, die nicht auf G0 ausgewiesen werden können und von G2 unter Verwendung der 7-Bit-Escape-Sequenzform des Einzelschichtcode SS2 zugegriffen werden:[117]
-
Esc $ a
zu wechseln zu GB 2312-1980 (2 Bytes pro Charakter) -
Esc $ (c
zu wechseln zu KS x 1001-1992 (2 Bytes pro Charakter) -
Esc $ (D.
zu wechseln zu JIS X 0212-1990 (2 Bytes pro Charakter) -
ESC . EIN
zu wechseln zu ISO/IEC 8859-1 hoher Teil, verlängerter lateinischer 1 -Satz (1 Byte pro Zeichen) [Anzeichen für G2] -
ESC . F
zu wechseln zu ISO/IEC 8859-7 hoher Teil, griechischer griechischer Set (1 Byte pro Charakter) [Anzeichen für G2]
ISO-2022-JP mit der ISO-2022-JP-2-Darstellung von jis x 0212, aber nicht der anderen Erweiterungen, wurde anschließend bezeichnet ISO-2022-JP-1 von RFC 2237, datiert 1997.[118]
IBM Japanisch TCP
IBM Implementiert neun 7-Bit-ISO 2022-basierte Codierungen für Japanisch, die jeweils unterschiedliche Fluchtsequenzen verwenden: IBM-956, IBM-957, IBM-958, IBM-959, IBM-5052, IBM-5053, IBM-5054, IBM -5055 und ISO-2022-JP, die gemeinsam als "TCP/IP-japanische codierte Zeichensätze" bezeichnet werden.[119] CCSID 9148 ist der Standard (RFC 1468) ISO-2022-JP.[120]
Code -Seite / ccsid | ACRI -Definitionsnummer | Fluchtsequenzen für ACRI[106] |
---|---|---|
956[121] | TCP-01 |
|
957[122] | TCP-02 |
|
958[123] | TCP-03 |
|
959[124] | TCP-04 |
|
5052[125] | TCP-05 |
|
5053[126] | TCP-06 |
|
5054[127] | TCP-07 |
|
5055[128] | TCP-08 |
|
9148[120] | TCP-16 |
|
Jis x 0213
Das Jis x 0213 Standard, der erstmals im Jahr 2000 veröffentlicht wurde, definiert eine aktualisierte Version von ISO-2022-JP ohne die ISO-2022-JP-2-Erweiterungen, die benannt sind ISO-2022-JP-3. Die von JIS X 0213 vorgenommenen Ergänzungen im Vergleich zum Basis -JIS X 0208 -Standard führten zu einer neuen Registrierung für das erweiterte JIS -Flugzeug 1, während das neue Flugzeug 2 seine eigene Registrierung erhielt. Die weiteren Ergänzungen zu Ebene 1 in der Ausgabe 2004 des Standard ISO-2022-JP-2004. Zusätzlich zu den grundlegenden ISO-2022-JP-Bezeichnungscodes werden die folgenden Bezeichnungen erkannt:
-
Esc (i
zu wechseln zu JIS X 0201-1976 Kana Set (1 Byte pro Charakter) -
Esc $ (o
zu wechseln zu JIS X 0213-2000 Ebene 1 (2 Bytes pro Zeichen) -
Esc $ (p)
zu wechseln zu JIS X 0213-2000 Ebene 2 (2 Bytes pro Zeichen) -
Esc $ (q
zu wechseln zu JIS X 0213-2004 Ebene 1 (2 Bytes pro Zeichen, nur ISO-2022-JP-2004)
Andere 7-Bit-Versionen
ISO-2022-kr ist in RFC 1557 datiert 1993 definiert.[129] Es codiert ASCII und das koreanische Doppelbyte KS x 1001-1992,[130][131] Zuvor KS C 5601-1987 ausgezeichnet. Im Gegensatz zu ISO-2022-JP-2 verwendet es die Verschieben Sie sich aus und verschieben Sie die Charaktere nach Einbeziehung zwischen ihnen wechseln Esc $) c
Zu Beginn einer Linie, um KS x 1001 bis G1 zu bezeichnen.[129]
ISO-2022-CN und ISO-2022-CN-EXT werden in RFC 1922, datiert 1996, definiert. Es handelt sich um 7-Bit SS2 und SS3 (um auf G2 und G3 zugreifen).[132] Sie unterstützen die Charakter -Sets GB 2312 (zum vereinfachtes Chinesisch) und ZNS 11643 (zum traditionelles Chinesisch).
Das grundlegende ISO-2022-CN-Profil verwendet ASCII als G0 (Shift-In) -Set und umfasst auch GB 2312 und die ersten beiden Ebenen von ZNS 11643 (da diese beiden Ebenen ausreichen, um alle traditionellen chinesischen Zeichen aus gemeinsamen chinesischen Zeichen darzustellen Die großen 5, für die der RFC eine Korrespondenz in einem Anhang liefert):[132]
-
Esc $) a
zu wechseln zu GB 2312-1980 (2 Bytes pro Charakter) [Anzeichen für G1] -
Esc $) g
zu wechseln zu ZNS 11643-1992 Ebene 1 (2 Bytes pro Zeichen) [Anzeichen für G1] -
Esc $ * h
Um auf ZNS zu wechseln 11643-1992 Ebene 2 (2 Bytes pro Zeichen) [Anzeichen für G2]
Das ISO-2022-CN-EXT-Profil ermöglicht die folgenden zusätzlichen Sätze und Flugzeuge.[132]
-
Esc $) e
zu wechseln zu ISO-IR-165 (2 Bytes pro Charakter) [Anzeichen für G1] -
Esc $ + i
Um auf ZNS zu wechseln 11643-1992 Ebene 3 (2 Bytes pro Zeichen) [Anzeichen für G3] -
Esc $ + j
Um auf ZNS zu wechseln 11643-1992 Ebene 4 (2 Bytes pro Zeichen) [Anzeichen für G3] -
Esc $ + k
Um auf ZNS zu wechseln 11643-1992 Ebene 5 (2 Bytes pro Zeichen) [Anzeichen für G3] -
Esc $ + l
Um auf ZNS zu wechseln 11643-1992 Ebene 6 (2 Bytes pro Zeichen) [Anzeichen für G3] -
Esc $ + m
Um auf ZNS zu wechseln 11643-1992 Ebene 7 (2 Bytes pro Zeichen) [Anzeichen für G3]
Das ISO-2022-CN-EXT-Profil listet weiter zusätzlich auf Guobiao Standard Grafische Mengen als gestattet, aber abhängig von ihrer zugewiesenen registrierten ISO 2022 Escape -Sequenzen:[132]
- GB 12345 in G1
- GB 7589 oder GB 13131 in G2
- GB 7590 oder GB 13132 in G3
Der Charakter nach dem ESC
(für Einzelbyte-Zeichensätze) oder Esc $
(Für Multi-Byte-Zeichensätze) Gibt die Art des Zeichensatzes und der Arbeitssatz an, für den sie ausgewiesen sind. In den obigen Beispielen der Charakter (
(0x28) bezeichnet einen 94-Charakter-Set auf den G0-Zeichensatz, während )
, *
oder +
(0x29–0x2b) meldet die G1 -G3 -Zeichensätze.
ISO-2022-KR und ISO-2022-CN werden seltener als ISO-2022-JP verwendet und werden manchmal absichtlich nicht aufgrund von Sicherheitsbedenken unterstützt. Insbesondere das Waswg Codierungsstandard verwendet von HTML5 Maps ISO-2022-KR, ISO-2022-CN und ISO-2022-CN-EXT (ebenso wie Hz-GB-2312) zum "Ersatz" Decoder,[108] welche alle Eingaben in die eingegeben haben Ersatzcharakter (�), um bestimmte zu verhindern Cross-Site-Scripting und verwandte Angriffe, die einen Unterschied in der Codierungsunterstützung zwischen Client und Server verwenden.[109] Obwohl das gleiche Sicherheitsbedenken (das Ermöglichung von Sequenzen von ASCII-Bytes unterschiedlich interpretiert werden kann) gilt auch für ISO-2022-JP und UTF-16Sie konnten diese Behandlung nicht erhalten, weil sie in den Bereitstellungen viel häufiger eingesetzt wurden.[107]
ISO/IEC 4873

Eine Teilmenge von ISO 2022, die auf 8-Bit-Einzelbyte-Codierungen angewendet werden ISO/IEC 4873auch veröffentlicht von ECMA International als ECMA-43. ISO/IEC 8859 Definiert 8-Bit-Codes für ISO/IEC 4873 (oder ECMA-43) Level 1.[9][10]
ISO / IEC 4873 / ECMA-43 definiert drei Codierungsstufen:[133]
- Stufe 1, der einen C0 -Set enthält, die ASCII G0-Set, ein optionaler C1-Set und ein optionaler Einzelbyte (94-Charakter- oder 96-Charakter) G1-Set. G0 wird über GL angerufen und G1 wird über GR aufgerufen. Die Verwendung von Schichtfunktionen ist nicht zulässig.
- Stufe 2, der zusätzlich zu einem obligatorischen G1-Set einen (94-Charakter- oder 96-Charakter) ein-Byte-G2- und/oder G3-Satz enthält. Nur die Einschaltfunktionen SS2 und SS3 sind zulässig (d. H. Verriegelungsverschiebungen sind verboten) und rufen sich über die GL-Region (einschließlich der GL-Region 0x20 und 0x7f im Fall eines 96-Sets). SS2 und SS3 müssen in C1 unter 0x8e bzw. 0x8f erhältlich sein. Dieser minimal erforderliche C1-Satz für ISO 4873 ist als ISO-IR-105 registriert.[66]
- Stufe 3, der die GR-Verriegelungsverschiebungsfunktionen LS1R, LS2R und LS3R zusätzlich zu den einzelnen Verschiebungen ermöglicht, weist aber ansonsten die gleichen Einschränkungen wie Level 2 auf.
Frühere Ausgaben des Standards zulässigen Nicht-ASCII-Aufgaben im G0-Set, sofern die ISO/IEC 646 Invariante Positionen wurden erhalten, dass die anderen Positionen den Abstandszeichen zugeordnet wurden (nicht kombiniert), dass 0x23 zugewiesen wurde £ oder #und dieser 0x24 wurde beiden zugewiesen $ oder ¤.[134] Zum Beispiel die 8-Bit-Codierung von Jis x 0201 ist mit früheren Ausgaben konform. Dies wurde anschließend geändert, um den ISO / IEC 646: 1991 IRV / ISO-IR Nr. 6-Set (ISO-IR Nr. 6) anzugeben ()ASCII).[135][136][137]
Die Verwendung der Verwendung der ISO/IEC 646 IRV (mit ASCII seit 1991 synchronisiert) bei ISO/IEC 4873 Level 1 ohne C1- oder G1-Satz, d. H. Unter Verwendung des IRV in einer 8-Bit ISO 4873 DV, in dem DV für "Standardversion" steht.[138]
In Fällen, in denen doppelte Zeichen in verschiedenen Sätzen verfügbar sind, erlaubt die aktuelle Ausgabe von ISO / IEC 4873 / ECMA-43 nur diese Zeichen mit diesen Zeichen im am niedrigsten nummerierten Arbeitssatz, in dem sie erscheinen.[139] Wenn beispielsweise ein Zeichen sowohl im G1 -Set als auch im G3 -Set erscheint, muss es vom G1 -Set verwendet werden. Die Verwendung von anderen Sets ist jedoch in früheren Ausgaben zugelassen.[137]
ISO/IEC 8859 Definiert vollständige Codierungen auf Stufe 1 von ISO/IEC 4873 und erlaubt nicht die Verwendung mehrerer ISO/IEC 8859 -Teile zusammen. Es sieht das vor ISO/IEC 10367 sollte stattdessen für die Stufen 2 und 3 von ISO/IEC 4873 verwendet werden.[9][10] ISO/IEC 10367: 1991 enthält G0- und G1 -Sets, die den ersten 9 Teilen von ISO/IEC 8859 (d. H. Diejenigen, die ab 1991 existierten, bei der Veröffentlichung) und einige ergänzende Sets entsprechen.[140]
Escape -Sequenzen für Zeichensatzbezeichnungen werden zum Identifizieren oder Umschalten zwischen Versionen während des Informationsaustauschs nur dann verwendet, wenn ein weiteres Protokoll erforderlich ist. In diesem Fall erfordert der Standard eine ISO/IEC 2022 -Ansager -Sequenz, in der die ISO/IEC 4873 -Ebene angegeben wird, gefolgt von einem vollständigen Satz von Flucht, die die Charakter -Set -Bezeichnungen für C0, C1, G0, G1, G2 und G3 angeben (aber die Bezeichnungen von G2 und G3 für Stufe 1 weglassen) mit einem F-Byte von 0x7e und bezeichnet einen leeren Satz. Jedes ISO/IEC 4873 -Level hat eine eigene ISO/IEC 2022 -Ansager -Sequenz, die wie folgt lautet:[141]
Code | Verhexen | Bekanntmachung |
---|---|---|
Esc sp l | 1b 20 4c | ISO 4873 Level 1 |
Esc sp m | 1b 20 4d | ISO 4873 Level 2 |
Esc sp n | 1b 20 4e | ISO 4873 Level 3 |
Erweiterter Unix -Code
Der erweiterte Unix-Code (EUC) ist eine 8-Bit-Variablenbreite Zeichenkodierung System, das hauptsächlich für verwendet wird japanisch, Koreanisch, und vereinfachtes Chinesisch. Es basiert auf ISO 2022, und nur Zeichensätze, die der ISO 2022 -Struktur entsprechen, können EUC -Formen haben. Bis zu vier codierte Zeichensätze können dargestellt werden (in G0, G1, G2 und G3). Der G0 -Set wird über GL aufgerufen, der G1 -Set wird über GR aufgerufen und die G2- und G3 -Sets werden (falls vorhanden) unter Verwendung der einzelnen Schaltungen SS2 und SS3 aufgerufen, die als CR -Bytes (d. H. 0x8e bzw. 0x8f) und) bzw.) bzw.) bzw.) bzw.) bzw.) bzw.) bzw.) bzw.) bzw.) bzw.) bzw.) bzw.) bzw. übergr (nicht GL) aufrufen.[11] Verriegelungsverschiebungscodes werden nicht verwendet.[12]
Der dem G0 -Set zugewiesene Code ist ASCII, oder der Land des Landes ISO 646 Zeichensatz wie KS-roman (ks x 1003) oder Jis-roman (die untere Hälfte von Jis x 0201).[11] Daher 0x5c (Backslash in US-Ascii) wird verwendet, um a zu repräsentieren Yen Zeichen in einigen Versionen von EUC-JP und a Gewonnenes Zeichen In einigen Versionen von EUC-KR.
G1 wird für einen in zwei Bytes dargestellten 94x94 -codierten Zeichensatz verwendet. Das EUC-CN Form von GB 2312 und EUC-kr sind Beispiele für solche Zwei-Byte-EUC-Codes. EUC-JP Enthält Zeichen, die durch bis zu drei Bytes (d. H. SS3 plus zwei Bytes) dargestellt werden, während ein einzelner Zeichen in EUC-TW kann bis zu vier Bytes (d. H. SS2 plus drei Bytes) einnehmen.
Der EUC -Code selbst nutzt die Ansager- oder Bezeichnungssequenzen von ISO 2022 nicht. Es entspricht jedoch der folgenden Sequenz von vier Ansagersequenzen, wobei die Bedeutungen wie folgt zusammenbrechen.[142]
Individuelle Sequenz | Hexadezimal | Merkmal von EUC bezeichnet |
---|---|---|
Esc sp c | 1b 20 43 | ISO-8 (8-Bit, G0 in GL, G1 in gr) |
Esc sp z | 1b 20 5a | G2 Zugegriffen mit SS2 |
Esc sp [ | 1b 20 5b | G3 Zugegriffen mit SS3 |
Esc sp \ | 1b 20 5c | Single-Shifts rufen sich über GR an |
Vergleich mit anderen Codierungen
Vorteile
- Da der gesamte Bereich von ISO/IEC 2022 über GL aufgerufen werden kann, sind die verfügbaren Glyphen nicht wesentlich durch die Unfähigkeit, GR und C1 darzustellen, wie in einem auf 7-Bit-Codierungen begrenzten System, nicht erheblich begrenzt. Es ermöglicht dementsprechend die Darstellung großer Zeichen in einem solchen System. Im Allgemeinen ist diese 7-Bit-Kompatibilität nicht wirklich ein Vorteil, mit Ausnahme der Rückwärtskompatibilität mit älteren Systemen. Die überwiegende Mehrheit der modernen Computer verwendet 8 Bit für jedes Byte.
- Im Vergleich zu Unicode sind ISO/IEC 2022 -Seitenschritte Han -Vereinigung Durch die Verwendung von Sequenzcodes, um zwischen diskreten Codierungen für verschiedene ostasiatische Sprachen zu wechseln. Dies vermeidet die mit der Vereinigung verbundenen Probleme, wie beispielsweise Schwierigkeiten bei der Unterstützung mehrerer CJK Sprachen mit ihren zugehörigen Zeichenvarianten in einem einzigen Dokument und einer Schriftart.
Nachteile
- Da ISO/IEC 2022 eine staatliche Codierung ist, kann ein Programm in der Mitte eines Textblocks nicht springen, um Zeichen zu suchen, einzufügen oder zu löschen. Dies macht die Manipulation des Textes sehr umständlich und langsam im Vergleich zu nicht staatlichen Codierungen. Jeder Sprung in der Mitte des Textes erfordert möglicherweise eine Sicherung der vorherigen Escape -Sequenz, bevor die Bytes nach der Fluchtsequenz interpretiert werden können.
- Aufgrund der staatlichen Natur von ISO/IEC 2022 kann ein identischer und äquivalenter Charakter in verschiedenen Zeichensätzen codiert werden, die zu einem von G0 bis G3 ausgewiesen werden können, der unter Verwendung von Einzelschichten oder unter Verwendung von Verriegelungsverschiebungen zu GL oder aufgerufen werden kann GR. Folglich können Zeichen auf verschiedene Arten dargestellt werden, was bedeutet, dass zwei visuell identische und äquivalente Zeichenfolgen für die Gleichheit nicht zuverlässig verglichen werden können.
- Einige Systeme wie Dicom und mehrere E-Mail-Clients verwenden eine Variante von ISO-2022 (z. B. "ISO 2022 IR 100"[143]) Neben der Unterstützung mehrerer anderer Codierungen.[144] Diese Art von Variation macht es schwierig, den Text zwischen Computersystemen portträtsell zu übertragen.
- UTF-1, der Multi-Byte Unicode Transformationsformat, das mit der Darstellung von 8-Bit-Kontrollzeichen von ISO/IEC 2022 kompatibel ist, hat im Vergleich zu verschiedenen Nachteilen verschiedene Nachteile UTF-8und wechseln von oder zu anderen Zeichen, wie von ISO/IEC 2022 unterstützt, ist in Unicode -Dokumenten in der Regel unnötig.
- Aufgrund seiner Fluchtsequenzen ist es möglich, Angriffsbyte -Sequenzen zu konstruieren, in denen eine böswillige Zeichenfolge (wie z. Cross-Site-Scripting) wird maskiert, bis es zu Unicode dekodiert ist, wodurch die Desinfektion umgehen kann.[145] Die Verwendung dieser Codierung wird somit von Malware -Schutzsuiten als misstrauisch behandelt.[146] und 7-Bit-ISO 2022-Daten (mit Ausnahme von ISO-2022-JP) werden in seiner Gesamtheit in die Gesamtheit zugeordnet Ersatzcharakter in HTML5 Angriffe zu verhindern.[108][109] Eingeschränkte ISO 2022 8-Bit-Code-Versionen, die keine Bezeichnung entkommen oder Schaltcodes sperren, wie z. Erweiterter Unix -CodeTeilen Sie dieses Problem nicht.
- Verkettung kann Probleme darstellen. Profile wie ISO-2022-JP geben an, dass der Strom im ASCII-Zustand beginnt und im ASCII-Zustand enden muss.[110] Dies ist erforderlich, um sicherzustellen, dass Zeichen in verketteten ISO-2022-JP- und/oder ASCII-Streams im richtigen Satz interpretiert werden. Dies hat die Konsequenz, dass wenn ein Stream, der in einem Multi-Byte-Zeichen endet, mit einem verkettet ist, der mit einem Multi-Byte-Zeichen beginnt, ein Paar Fluchtcodes erzeugt wird, um auf ASCII zu wechseln und sofort weg von ihm weg. Wie in dem technischen Bericht Nr. 36 von Unicode ("Unicode -Sicherheitsüberlegungen) festgelegt, sollten Paare von ISO 2022 -Fluchtsequenzen ohne Zeichen zwischen ihnen eine generieren a Ersatzcharakter ("�"), um zu verhindern, dass sie verwendet werden, um bösartige Sequenzen wie zu maskieren, z. Cross-Site-Scripting.[147] Implementierung dieser Maßnahme, z. in Mozilla Thunderbird, hat zu Interoperabilitätsproblemen geführt, wobei unerwartete "�" -Scharaktere generiert wurden, bei denen zwei ISO-2022-JP-Streams verkettet wurden.[145]
Siehe auch
- ISO 2709
- ISO/IEC 646
- ISO-IR-102
- C0- und C1 -Kontrollcodes
- CJK
- MARC -Standards
- Mojibake
- LIT
- ISO/IEC JTC 1/SC 2
Fußnoten
- ^ japanisch: 区点, romanisiert:kuten; Chinesisch: 区位; Pinyin: qūwèi; Koreanisch:행렬; Hanja:行列; Rr:haeng-nyeol
- ^ japanisch: 区, romanisiert:ku, zündete. 'Zone'; Chinesisch: 区; Pinyin: qū; Koreanisch:행; Hanja:行; Rr:haeng
- ^ japanisch: 点, romanisiert:ten, zündete. 'Punkt'; Chinesisch: 位; Pinyin: wèi; zündete. 'Position'; Koreanisch:열; Hanja:列; Rr:yeol
- ^ japanisch: 面, romanisiert:men, zündete. 'Gesicht'
- ^ a b Angegeben für F Bytes 0x40 (
@
), 0x41 (A
) und 0x42 (B
) Nur aus historischen Gründen.[86] Einige Implementierungen wie die Softbank 2g Emoji Verwenden Sie Codierung zusätzliche Flüchtlinge dieses Formulars für Nicht-ISO-2022-konforme Zwecke.[93] - ^ Gelistet von Marc-8.[3] Siehe Fußnote für
Esc, f
unten für Hintergrund. - ^ F, angepasst an den Bereich 1-63, gibt an, welche (nach oben kompatible) Überarbeitung der unmittelbar folgenen Registrierung erforderlich ist, sodass alte Systeme wissen, dass sie alt sind.[94]
- ^ In früheren Ausgaben gab es keine 96-Zeichen-Sets, und die Fluchtcodes, die jetzt für 96-Charakter-Sets verwendet wurden, wurden als Raum für zusätzliche 94-Charakter-Sets reserviert. Dementsprechend das
ESC 0x1b 0x2c
Die Sequenz wurde in frühen Ausgaben des Standards definiert, um weitere 94-Charakter-Sätze auf G0 zu bezeichnen.[95] Da 96-Charakter-Sets nicht auf G0 ausgewiesen werden können, ist dies zuerst I Byte wird nicht von der aktuellen Ausgabe des Standards verwendet. Es ist jedoch immer noch von aufgeführt von Marc-8.[3] - ^ Siehe zum Beispiel auch, Printronix (2012), OKI® Programmer Referenzhandbuch (PDF), p. 26 Für ein neueres System, das verwendet
Esc (h
Um von einem DBC zu ASCII zu wechseln.
Verweise
- ^ ECMA-35 (1994), Kurze Geschichte
- ^ ECMA-35 (1994), p. 51, Anhang D.
- ^ a b c d e "Technik 2: Verwenden von Standard -Grafik -Zeichensätzen mit Standards". MARC 21 Spezifikationen für Rekordstruktur, Zeichensätze und Exchange Media. Kongressbibliothek. 2007-12-05. Archiviert vom Original am 2020-07-22. Abgerufen 2020-07-19.
- ^ "ECMA-35: Charaktercodestruktur und Erweiterungstechniken (Webseite)". ECMA International. Archiviert vom Original am 2022-04-25. Abgerufen 2022-04-27.
- ^ a b c d ECMA-35 (1994), S. 15–16, Kapitel 8.1
- ^ a b ECMA-35 (1994), Kapitel 13
- ^ a b ECMA-35 (1994), Kapitel 12, 14
- ^ a b ECMA-35 (1994), Kapitel 11
- ^ a b c d e ISO/IEC FDIS 8859-10 (1998), p. 1, Kapitel 1 ("Scope")
- ^ a b c d e ECMA-144 (2000), p. 1, Kapitel 1 ("Scope")
- ^ a b c d e f Lunde (2008), S. 242–245, Kapitel 4 ("Codierungsmethoden"), Abschnitt "EUC -Codierung"
- ^ a b c d Lunde (2008), S. 253–255, Kapitel 4 ("Codierungsmethoden"), Abschnitt "EUC gegen ISO-2022-Codierungen".
- ^ a b ISO-IR-196 (1996)
- ^ a b c Moy, Edward; Gildea, Stephen; Dickey, Thomas. "Steuerelemente beginnen mit ESC". Xterm -Kontrollsequenzen. Archiviert vom Original am 2019-10-10. Abgerufen 2019-10-04.
- ^ ECMA-35 (1994), Kapitel 6, 7
- ^ ECMA-35 (1994), Kapitel 8
- ^ ECMA-35 (1994), Kapitel 9
- ^ a b ECMA-35 (1994), Kapitel 15
- ^ Lunde (2008), S. 228–234, Kapitel 4 ("Codierungsmethoden"), Abschnitt "ISO-2022 Codierung"
- ^ Lunde (2008), S. 19–20, Kapitel 1 ("CJKV-Informationsverarbeitungsübersicht"), Abschnitt "Was sind Zeilenzell- und Flugzeugzell?"
- ^ ECMA-35 (1994), p. 4, Definition 4.11
- ^ ECMA-35 (1994), p. 5, Definition 4.18
- ^ Siehe zum Beispiel, ISO-IR-14 (1975) , Definieren der G0 -Bezeichnung der JIS X 0201 Roman Set wie
Esc 2/8 4/10
. - ^ ECMA-35 (1994), p. 5, Kapitel 5.1
- ^ Siehe zum Beispiel, RFC 1468 (1993), Definieren der G0 -Bezeichnung der JIS X 0201 Roman Set wie
Esc (j
. - ^ ECMA-35 (1994), p. 7, Kapitel 6.2
- ^ ECMA-35 (1994), p. 10, Kapitel 6.3.2
- ^ ECMA-35 (1994), p. 4, Definition 4.17
- ^ ECMA-35 (1994), p. 4, Definition 4.14
- ^ ECMA-35 (1994), p. 28, Kapitel 13.1
- ^ a b c ECMA-35 (1994), p. 33, Kapitel 13.3.3
- ^ ECMA-48 (1991), S. 24–26, Kapitel 5.4
- ^ a b c d ECMA-35 (1994), p. 11, Kapitel 6.4.3
- ^ ISO-IR-208 (1999)
- ^ ISO-IR-155 (1990)
- ^ ISO-IR-164 (1992)
- ^ a b ECMA-35 (1994), p. 10, Kapitel 6.3.3
- ^ Google Inc. (2014). "Ansi.go, Zeile 134". Ansi Escape Sequence Library für Go. Archiviert vom Original am 2022-04-30. Abgerufen 2019-09-14.
{{}}
:|author=
hat generischen Namen (Hilfe) - ^ ECMA-43 (1991), p. 5, Kapitel 7 ("Spezifikation der Zeichen des 8-Bit-Codes")
- ^ ISO/IEC FDIS 8859-10 (1998), p. 3, Kapitel 6 ("Spezifikation des codierten Zeichensatzes")
- ^ ECMA-144 (2000), p. 3, Kapitel 6 ("Spezifikation des codierten Zeichensatzes")
- ^ ECMA-43 (1991), p. 19, Anhang C ("zusammengesetzte Grafikzeichen")
- ^ a b ECMA-35 (1994), p. 10, Kapitel 6.4.1
- ^ a b ECMA-35 (1994), p. 11, Kapitel 6.4.4
- ^ a b c ECMA-35 (1994), p. 11, Kapitel 6.4.2
- ^ ISO-IR-104 (1985)
- ^ ISO-IR-1 (1975)
- ^ a b ECMA-35 (1994), p. 19, Kapitel 8.5.1
- ^ a b ECMA-35 (1994), p. 19, Kapitel 8.5.2
- ^ ECMA-43 (1991), p. 8, Kapitel 7.6 ("C1 -Set")
- ^ a b ECMA-35 (1994), p. 29, Kapitel 13.2.1
- ^ a b ECMA-35 (1994), p. 12, Kapitel 6.5.1
- ^ ECMA-35 (1994), p. 12, Kapitel 6.5.2
- ^ a b c ISO-IR, p. 19, Kapitel 2.7 ("Einzelsteuerungsfunktionen")
- ^ ECMA-35 (1994), p. 12, Kapitel 6.5.3
- ^ a b ECMA-35 (1994), p. 14, Kapitel 7.3, Tabelle 2
- ^ ISO-IR-14 (1975)
- ^ a b Itu-t (1995-08-11). Empfehlung T.51 (1992) Änderung 1. Archiviert vom Original am 2020-08-02. Abgerufen 2019-12-25.
- ^ ISO-IR-106 (1985)
- ^ ECMA-35 (1994), p. 15, Kapitel 7.3, Anmerkung 23
- ^ ISO-IR-140 (1987)
- ^ ISO-IR-7 (1975)
- ^ ISO-IR-26 (1976)
- ^ ISO-IR-36 (1977)
- ^ ECMA-35 (1980), p. 8, Kapitel 5.1.7
- ^ a b ISO-IR-105 (1985)
- ^ a b c d ECMA-35 (1994), p. 17, Kapitel 8.3.1
- ^ a b c d ECMA-35 (1994), p. 23, Kapitel 9.3.1
- ^ a b c ECMA-35 (1994), p. 19, Kapitel 8.4
- ^ a b c ECMA-35 (1994), p. 17, Kapitel 8.3.2
- ^ ECMA-35 (1994), S. 23–24, Kapitel 9.4
- ^ ECMA-35 (1994), p. 27, Kapitel 11.1
- ^ ECMA-35 (1994), p. 17, Kapitel 8.3.3
- ^ ECMA-35 (1994), p. 47, Anhang B
- ^ ISO-IR, p. 2, Kapitel 1 ("Einführung")
- ^ ISO/IEC 2375 (2003)
- ^ a b "Umgang mit der SGML -Erklärung in SP". SP: Ein SGML -System, das dem internationalen Standard ISO 8879 entspricht.
- ^ "20: SGML -Deklaration von HTML 4". HTML 4.01 -Spezifikation. W3c.
- ^ ISO-IR, p. 10, Kapitel 2.2 ("94-Charakter-Grafikzeichen mit zweitem Zwischenbyte")
- ^ ARIB STD-B24 (2008), p. 39, Teil 2, Tabelle 7-3
- ^ Mascheck, Sven; Le Breton, Stefan; Hamilton, Richard L. "Über den alternativen Linedrawing -Charakter -Set"". ~ sven_macheck/. Archiviert vom Original am 2019-12-29. Abgerufen 2020-01-08.
- ^ ECMA-35 (1994), p. 36, Kapitel 14.4
- ^ ECMA-35 (1994), p. 36, Kapitel 14.4.2, Anmerkung 48
- ^ ECMA-35 (1994), p. 36, Kapitel 14.4.2, Anmerkung 47
- ^ ETS 300 706 (1997), p. 103, Kapitel 14 ("Dynamisch neu definierbare Zeichen")
- ^ a b c d e f g h i j k l m n o p q ECMA-35 (1994), S. 35–36, Kapitel 14.3.2
- ^ ISO/IEC 10646 (2017), S. 19–20, Kapitel 12.4 ("Identifizierung der Kontrollfunktionssatz")
- ^ ECMA-35 (1994), p. 32, Tabelle 5
- ^ a b c ECMA-35 (1994), S. 37–41, Kapitel 15.2
- ^ ECMA-35 (1994), p. 34, Kapitel 14.2.2
- ^ ECMA-35 (1994), p. 34, Kapitel 14.2.3
- ^ Digital. "Decdwl-Double-Width, Single-Height-Linie". VT510 Video Terminal Programmer Information. Archiviert vom Original am 2020-08-02. Abgerufen 2020-01-17.
- ^ Kawasaki, Yusuke (2010). "Encode :: jp :: emoji :: codieren". Codieren-jp-emoji. Zeile 268. Archiviert vom Original am 2022-04-30. Abgerufen 2020-05-28.
- ^ ECMA-35 (1994), S. 36–37, Kapitel 14.5
- ^ ECMA-35 (1980), S. 14–15, Kapitel 5.3.7
- ^ a b c d ISO-IR, p. 20, Kapitel 2.8.1 ("Codierungssysteme mit Standardrückgabe")
- ^ a b c d ECMA-35 (1994), S. 41–42, Kapitel 15.4
- ^ a b c d e ISO-IR, p. 21, Kapitel 2.8.2 ("Codierungssysteme ohne Standardrückgabe")
- ^ ECMA-35 (1994), p. 41, Kapitel 15.3
- ^ a b c ISO/IEC 10646 (2017), p. 19, Kapitel 12.2 ("Identifizierung eines UCS -Codierungsschemas")
- ^ ISO/IEC 10646 (2017), S. 18–19, Kapitel 12.1 ("Zweck und Kontext der Identifizierung")
- ^ ISO-IR-192 (1996)
- ^ ISO-IR-195 (1996)
- ^ ISO/IEC 10646 (2017), p. 20, Kapitel 12.5 ("Identifizierung des Codierungssystems von ISO/IEC 2022")
- ^ Lunde (2008), S. 229–230, Kapitel 4 ("Codierungsmethoden"), Abschnitt "ISO-2022 codieren" "Die in der Vergangenheit ausgiebigen verwendeten Codierungen oder für einige Zwecke, die heute noch für einige Zwecke verwendet wurden, wurden hervorgehoben."
- ^ a b "Zusätzliche kodierbedingte erforderliche Informationen". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2015-01-07.
- ^ a b c Whatwg Codierungsstandard, Abschnitt 2 ("Sicherheitshintergrund")
- ^ a b c Whatwg Codierungsstandard, Kapitel 4.2 ("Namen und Etiketten"), Anker "Ersatz"
- ^ a b c d Whatwg Codierungsstandard, Abschnitt 14.1 ("Ersatz")
- ^ a b c d e f RFC 1468 (1993)
- ^ a b c "Code -Seiten -Identifikatoren". Windows Dev Center. Microsoft. Archiviert vom Original am 2019-06-16. Abgerufen 2019-09-16.
- ^ a b Whatwg Codierungsstandard, Abschnitt 12.2 ("ISO-2022-JP")
- ^ Chang, Hye-Shik. "Module/CJKCODECS/_CODECS_ISO2022.c, Zeile 1122". CPython -Quellbaum. Python Software Foundation. Archiviert vom Original am 2022-04-30. Abgerufen 2019-09-15.
- ^ "Codecs - Codec -Registrierung und Basisklassen § Standardcodierungen". Python 3.7.4 Dokumentation. Python Software Foundation. Archiviert vom Original am 2019-07-28. Abgerufen 2019-09-16.
- ^ "2: Codesets und Codeset Conversion". Digitale Unix -technische Referenz für die Verwendung japanischer Funktionen. Digital Equipment Corporation, Compaq.[Dead Link]
- ^ a b Lunde (2008), S. 236–238, Kapitel 4 ("Codierungsmethoden"), Abschnitt "Der Vorgänger der Codierung von ISO-2022-JP-JIS-Codierung"
- ^ RFC 1554 (1993)
- ^ RFC 2237 (1997)
- ^ "PQ02042: Neue Funktion zur Bereitstellung von C/370 ICONV () Unterstützung für japanische ISO-2022-JP". IBM. 2021-01-19. Archiviert vom Original am 2022-01-04. Abgerufen 2022-01-04.
- ^ a b "CCSID 9148". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-11-29.
- ^ "CCSID 956". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-12-02.
- ^ "CCSID 957". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-11-30.
- ^ "CCSID 958". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-12-01.
- ^ "CCSID 959". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-12-02.
- ^ "CCSID 5052". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-11-29.
- ^ "CCSID 5053". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-11-29.
- ^ "CCSID 5054". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-11-29.
- ^ "CCSID 5055". IBM Globalisierung - codierte Zeichensatzkennungen. IBM. Archiviert von das Original Am 2014-11-29.
- ^ a b RFC 1557 (1993)
- ^ "KS x 1001: 1992" (PDF). Archiviert (PDF) vom Original am 2007-09-26. Abgerufen 2007-07-12.
- ^ ISO-IR-149 (1988)
- ^ a b c d RFC 1922 (1996)
- ^ ECMA-43 (1991), S. 9–10, Kapitel 8 ("Ebenen")
- ^ ECMA-43 (1985), S. 7–11, Kapitel 7.3 ("The G0 Set")
- ^ ECMA-43 (1991), S. 6–8, Kapitel 7.4 ("G0 Set")
- ^ ECMA-43 (1991), p. 11, Kapitel 10.3 ("Identifizierung einer Version")
- ^ a b ECMA-43 (1991), p. 23, Anhang E ("Hauptunterschiede zwischen der zweiten Ausgabe (1985) und der vorliegenden (dritten) Ausgabe dieses ECMA -Standards")
- ^ IPTC (1995). Das IPTC empfohlene Nachrichtenformat (PDF) (5. Aufl.). IPTC TEC 7901. Archiviert (PDF) vom Original am 2022-01-25. Abgerufen 2020-01-14.
- ^ ECMA-43 (1991), S. 10, Kapitel 9.2 ("Eindeutige Codierung der Zeichen")
- ^ Van Wingen, Johan W (1999). "8. Codeerweiterung, ISO 2022 und 2375, ISO 4873 und 10367". Zeichensätze. Briefe, Token und Codes. Ternea. Archiviert vom Original am 2020-08-01. Abgerufen 2019-10-02.
- ^ ECMA-43 (1991), S. 10–11, Kapitel 10 ("Identifizierung von Version und Ebene")
- ^ IBM. "Charakterdatenrepräsentationsarchitektur (CDRA)". IBM. S. 157–162. Archiviert vom Original am 2019-06-23. Abgerufen 2020-06-18.
- ^ "Dicom PS3.2 2016d - Konformität; D.6.2 Charakter -Sets; D.6 Unterstützung von Zeichensätzen". Archiviert vom Original am 2020-02-16. Abgerufen 2020-05-21.
- ^ "Dicom ISO 2022 Variation". Archiviert von das Original Am 2013-04-30. Abgerufen 2009-07-25.
- ^ a b Sivonen, Henri (2018-12-17). "(Unauftragter Entwurf) Keine U+FFFD-Erzeugung für den Inhalt des ASCII-Zustands mit Null-Länge zwischen ISO-2022-JP-Escape-Sequenzen" (PDF). Archiviert (PDF) vom Original am 2019-02-21. Abgerufen 2019-02-21.
- ^ "935453 - Sammeln Sie Telemetrie über HZ und andere Codierungen, die wir möglicherweise entfernen können.". Archiviert vom Original am 2017-05-19. Abgerufen 2018-06-18.
- ^ Davis, Mark; Suignard, Michel (2014-09-19). "3.6.2 Ausgang für alle Eingaben". Unicode Technischer Bericht Nr. 36: Unicode -Sicherheitsüberlegungen (Revision 15). Unicode -Konsortium. Archiviert vom Original am 2019-02-22. Abgerufen 2019-02-21.
Zitierte Standards und Registrierungsindizes
- EINE RIPPE (2008). ARIB STD-B24: Datencodierungs- und Übertragungsspezifikation für die digitale Rundfunk (PDF) (ARIB Standard). 5.2-e1. Vol. 1. Archiviert (PDF) vom Original am 2017-07-10. Abgerufen 2017-07-10.
- ECMA (1980). ECMA-35: Erweiterung des 7-Bit-codierten Zeichensatzes (PDF) (ECMA -Standard) (2. Aufl.).
- ECMA (1994). ECMA-35: Charaktercode-Struktur und Erweiterungstechniken (PDF) (ECMA -Standard) (6. Aufl.).
- ECMA (1985). ECMA-43: 8-Bit-codierte Zeichensatzstruktur und -regeln (PDF) (ECMA -Standard) (2. Aufl.).
- ECMA (1991). ECMA-43: 8-Bit-codierte Zeichensatzstruktur und -regeln (PDF) (ECMA -Standard) (3. Aufl.).
- ECMA (1991). ECMA-48: Kontrollfunktionen für codierte Zeichensätze (PDF) (ECMA -Standard) (5. Aufl.).
- ECMA (2000). ECMA-144: 8-Bit-Single-Byte-codierte grafische Zeichensätze: Lateinisches Alphabet Nr. 6 (PDF) (ECMA -Standard) (3. Aufl.).
- Europäische Rundfunk Union (1997). ETS 300 706: Verbesserte TeleText -Spezifikation (PDF) (Europäische Telekommunikationsstandards). ETSI.
- ISO/IEC JTC 1/SC 2 (2003). ISO/IEC 2375: 2003: Informationstechnologie - Verfahren zur Registrierung von Escape -Sequenzen und codierten Zeichensätzen. ISO.
- ISO/IEC JTC 1/SC 2 (1998-02-12). ISO/IEC FDIS 8859-10: Informationstechnologie-8-Bit-Einzel-Byte-Coded Grafikzeichen-Sets-Teil 10: Lateinisches Alphabet Nr. 6 (PDF) (Endgültiger Entwurf International Standard).
- ISO/IEC JTC 1/SC 2 (2017). ISO/IEC 10646: Informationstechnologie - Universal Coded Character Set (UCS) (ISO -Standard) (5. Aufl.). ISO.
- ISO-IR: ISO/IEC Internationales Register codierter Zeichensätze, die mit Escape-Sequenzen verwendet werden sollen (PDF) (Registrierungsindex). Itcj/Ipsj.
- Van Kesteren, Anne. Whatwg Codierungsstandard (Whatwg Living Standard). Waswg.
Zitierte registrierte Codesätze
- ISO/TC 97/SC 2 (1975-12-01). ISO-IR-1: Die Anzahl der Kontrollzeichen des ISO 646 (PDF). Itcj/Ipsj.
- Sveriges standardiseringskommission (1975-12-01). ISO-IR-7: NATS-Steuerungssatz für Zeitungstextübertragung (PDF). Itcj/Ipsj.
- Japanische Industriestandardskomitee (1975-12-01). ISO-IR-14: Die japanische römische Grafikmenge von Zeichen (PDF). Itcj/Ipsj.
- IPTC (1976-03-25). ISO-IR-26: Steuerungssatz für Zeitungstextübertragung (PDF). Itcj/Ipsj.
- ISO/TC 97/SC 2 (1977-10-15). ISO-IR-36: Das Satz von Kontrollzeichen von ISO 646, wobei IS4 durch eine einzelne Verschiebung für G2 (SS2) ersetzt wird (PDF). Itcj/Ipsj.
- ISO/TC97/SC2/WG-7; ECMA (1985-08-01). ISO-IR-104: Minimaler C0-Set für ISO 4873 (PDF). Itcj/Ipsj.
- ISO/TC97/SC2/WG-7; ECMA (1985-08-01). ISO-IR-105: Minimaler C1-Set für ISO 4873 (PDF). Itcj/Ipsj.
- Itu (1985-08-01). ISO-IR-106: TeletEx Primärer Kontrollfunktionen (PDF). Itcj/Ipsj.
- Úřad Pro Normalizaci A Měřeni (1987-07-31). ISO-IR-140: Der C0-Satz von Kontrollzeichen von ISO 646, wobei EM durch SS2 ersetzt wird (PDF). Itcj/Ipsj.
- Korea Bureau of Standards (1988-10-01). ISO-IR-149: Koreaner Grafikzeichen für Informationswechsel (KS C 5601: 1987) (PDF). Itcj/Ipsj.
- ISO/IEC/JTC1/SC2/WG3 (1990-04-16). ISO-IR-155: Basic Box-Drawings Set (PDF). Itcj/Ipsj.
- Ccitt (1992-07-13). ISO-IR-164: Hebräisch ergänzende Grafikzeichen (PDF). Itcj/Ipsj.
- ECMA (1996-04-22). ISO-IR-192: UCS-Transformationsformat (UTF-8), Implementierungsstufe 3, ohne Standardrendite (PDF). Itcj/Ipsj.
- ECMA (1996-04-22). ISO-IR-195: UCS-Transformationsformat (UTF-16), Implementierungsstufe 3, ohne Standardrendite (PDF). Itcj/Ipsj.
- ECMA (1996-04-22). ISO-IR-196: UCS-Transformationsformat (UTF-8) mit Standardrendite (PDF). Itcj/Ipsj.
- Nationale Standardbehörde Irlands (1999-12-07). ISO-IR-208: Ogham codiertes Zeichen für den Informationsaustausch (PDF). Itcj/Ipsj.
Internetanfragen nach Kommentaren zitiert
- Murai, J.; Crispin, M.; Van der Poel, E. (1993). "RFC 1468: Japanische Zeichenkodierung für Internetnachrichten". Anfragen nach Kommentaren. Ietf. doi:10.17487/rfc1468.
- Ohta, M.; Handa, K. (1993). "RFC 1554: ISO-2022-JP-2: Mehrsprachige Erweiterung von ISO-2022-JP". Anfragen nach Kommentaren. Ietf. doi:10.17487/rfc1554.
- Choi, u.; Chon, K.; Park, H. (1993). "RFC 1557: Koreanische Zeichenkodierung für Internetnachrichten". Anfragen nach Kommentaren. Ietf. doi:10.17487/rfc1557.
- Zhu, Hf.; Hu, Dy.; Wang, Zg.; Kao, TC.; Chang, Wch.; Crispin, M. (1996). "RFC 1922: Chinesische Charakter -Codierung für Internetnachrichten". Anfragen nach Kommentaren. Ietf. doi:10.17487/rfc1922.
- Tamaru, K. (1997). "RFC 2237: Japanische Zeichenkodierung für Internetnachrichten". Anfragen nach Kommentaren. Ietf. doi:10.17487/rfc2237.
Andere veröffentlichte Werke zitiert
- Lunde, Ken (2008). CJKV -Informationsverarbeitung (2. Aufl.). O'Reilly Media. ISBN 9780596514471.
Weitere Lektüre
- Lunde, Ken (1998). CJKV -Informationsverarbeitung. Cambridge, Massachusetts: O'Reilly & Associates. ISBN 1-56592-224-7.
Externe Links
- ISO/IEC 2022: 1994
- ISO/IEC 2022: 1994/Cor 1: 1999
- ECMA-35, entspricht ISO/IEC 2022 und frei herunterladbar.
- Internationales Register der codierten Zeichensätze, die mit Escape -Sequenzen verwendet werden sollen, eine vollständige Liste der zugewiesenen Zeichensätze und deren Escape -Sequenzen
- Geschichte der Charaktercodes in Nordamerika, Europa und Ostasien ab 1999, Rev. 2004
- Ken Lunde's Cjk.inf: Ein Dokument über die Codierung chinesischer, japanischer und koreanischer (CJK) Sprachen, einschließlich einer Diskussion der verschiedenen Varianten von ISO/IEC 2022.