UTF-1

UTF-1
Mime / Iana ISO-10646-UTF-1
Sprachen) International
Aktueller Status Dunkel, hauptsächlich historisches Interesse.
Einstufung Unicode -Transformationsformat, erweiterte ASCII, Codierung der variablen Breite
Erweitert US-Ascii
Transformationen / codiert ISO/IEC 10646 (Unicode)
gefolgt von UTF-8

UTF-1 ist eine Methode zur Transformation ISO/IEC 10646/Unicode in einen Strom von Bytes. Sein Design bietet nicht Selbstsynchronisation, was die Suche nach Substrings und Fehlerwiederherstellung schwierig. Es wird die ASCII-Druckzeichen für Multi-Byte-Codierungen wiederverwendet und es für einige Verwendungszwecke ungeeignet gemacht (beispielsweise Unix-Dateinamen können den Byte-Wert nicht enthalten, der für den Vorwärtsschrägstrich verwendet wird). UTF-1 ist aufgrund der Verwendung von Teilung und Multiplikation mit einer Zahl, die keine Leistung von 2 ist, nur langsam zu codieren oder zu dekodieren UTF-8.

Entwurf

Ähnlich zu UTF-8, UTF-1 ist a Codierung der variablen Breite das ist rückwärtskompatibel mit ASCII. Jeder Unicode Codepunkt wird entweder durch ein einzelnes Byte oder eine Sequenz von zwei, drei oder oder einer Sequenz dargestellt fünf Bytes. ASCII wird über die Einzelbyte-Codierungen unterstützt, die im Gegensatz zu denen von UTF-8 auch die Nicht-ASCII-Codepunkte enthalten U+0080 durch U+009f.

UTF-1 verwendet das nicht C0- und C1 -Kontrollcodes oder der Raumschiff in Multi-Byte-Codierungen: ein Byte im Bereich 0–0x20 oder 0x7f - 0x9f steht immer für den entsprechenden Codepunkt. Dieses Design mit 66 geschützt Charaktere versuchten zu sein ISO/IEC 2022 kompatibel.

UTF-1 verwendet "Modulo 190 "Arithmetik (256-66 = 190). Zum Vergleich schützt UTF-8 alle 128 ASCII-Zeichen und benötigt ein Bit dafür, und ein zweites Stück, um es selbstsynchronisiert zu machen, was zu" Modulo 64 "-Rearithmetik (Arithmetic (arithmetic8 - 2 = 6; 26 = 64). Bocu-1 schützt nur den minimalen Satz für erforderlich für MIME-kompatibilität (0x00, 0x07–0x0f, 0x1a -0x1b und 0x20), was zu "Modulo 243" Arithmetik (256 -13 = 243) führt.

Codepunkt UTF-8 UTF-1
U+007f 7f 7f
U+0080 C2 80 80
U+009f C2 9f 9f
U+00A0 C2 A0 A0 A0
U+00BF C2 bf A0 bf
U+00C0 C3 80 A0 C0
U+00ff C3 bf A0 ff
U+0100 C4 80 A1 21
U+015d C5 9d A1 7e
U+015E C5 9e A1 A0
U+01BD C6 Bd A1 ff
U+01be C6 sein A2 21
U+07ff Df bf AA 72
U+0800 E0 A0 80 AA 73
U+0fff E0 bf bf B5 48
U+1000 E1 80 80 B5 49
U+4015 E4 80 95 F5 ff
U+4016 E4 80 96 F6 21 21
U+d7ff Ed 9f Bf F7 2f C3
U+E000 EE 80 80 F7 3a 79
U+f8ff EF A3 BF F7 5c 3c
U+fdd0 EF B7 90 F7 62 BA
U+FDEF EF B7 Af F7 62 D9
U+feff Ef bb bf F7 64 4c
U+fffd Ef bf bd F7 65 ad
U+fffe Ef bf sein F7 65 ae
U+ffff Ef bf bf F7 65 af
U+10000 F0 90 80 80 F7 65 B0
U+38E2D F0 b8 b8 ad Fb ff ff
U+38E2E F0 b8 b8 ae FC 21 21 21 21
U+fffff F3 bf bf bf FC 21 37 B2 7a
U+100000 F4 80 80 80 FC 21 37 B2 7B
U+10ffff F4 8f bf bf FC 21 39 6e 6c
U+7FFFFFFF Fd bf bf bf bf bf Fd bd 2b b9 40

Obwohl die moderne Unicode bei U+10ffff endet, wurden sowohl UTF-1 als auch UTF-8 so konzipiert, dass sie die vollständigen 31 Bit des Originals codieren Universeller Charakter -Set (UCS-4) und der letzte Eintrag in dieser Tabelle zeigt diesen ursprünglichen endgültigen Codepunkt.

Siehe auch

Verweise

  • "Der Unicode-Standard: Anhang F FSS-UTF" (PDF) (PDF, 768 KIB). Version 1.1. Unicode, Inc.
  • ISO/IEC JTC 1/SC2/WG2 (1993-01-21). "ISO IR 178: UCS-Transformationsformat eins (UTF-1)" (PDF) (PDF, 256 KIB) (1 Ed.). Registrierungsnummer 178. archiviert von das Original (PDF) Am 2015-03-18.
  • Czyborra, Roman (1998-11-30). "Unicode-Transformationsformate: UTF-8 & Co". Archiviert vom Original am 2016-06-07. Abgerufen 2016-06-07.
  • F. Yerdeau, F. (November 2003). "UTF-8, ein Transformationsformat von ISO 10646". {{}}: Journal zitieren erfordert |journal= (Hilfe)