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)