InfoCenter

UTF-7

UTF-7 ist eine Kodierung, die sich zum Kodieren von Unicode Zeichen lediglich der ASCII Zeichen bedient. Damit hat diese Kodierung den Vorteil, dass mit ihrer Hilfe Unicode Zeichen auch in Umgebungen, Editoren oder Betriebssystemen, die nur 7-Bit ASCII verstehen, dargestellt und übertragen werden können.

Zum Beispiel erlauben einige Protokolle im Internet wie beispielsweise SMTP für E-Mails nur die 128 Zeichen im Bereich von ASCII, alle anderen größeren Bytes sind nicht erlaubt. Alle anderen UTF-Kodierungen verwenden mindestens 8 Bit, so dass diese für derartige Zwecke nicht zu gebrauchen sind.

Die Zeichen A bis Z, a bis z, 0 bis 9 und die Sonderzeichen ' ( ) , . / : - ? bleiben bei der Kodierung so wie sie sind. Damit bleiben Texte, die überwiegend aus ASCII Buchstaben stehen weitestgehend lesbar. Die ASCII Zeichen ! " # $ % & * ; < = > @ [ ] ^ _ ` { | } können auch so stehen bleiben, wie sie sind, sollten aber kodiert werden, da sie eventuell nicht von allen Programmen so verstanden werden. Alle anderen Zeichen werden kodiert und ebenfalls in ASCII Zeichen umgewandelt. Das Zeichen + markiert den Beginn einer derartigen Kodierung, das - Zeichen oder jedes andere nicht durch die Kodierung auftretbare Zeichen das Ende.

Das deutsche Wort Käse würde kodiert beispielsweise K+AOQ-se lauten. Die ASCII Zeichen K, s und e blieben stehen, während das "ä" als AOQ mittels anderer ASCII Zeichen kodiert würde. Anfang und Ende dieser Sequenz sind mit - und + markiert.

Verwendung und Verbreitung

Obwohl UTF-7 eine große Kodierungseffizienz aufzuweisen hat, konnte es sich nicht durchsetzen, da die Dekodierung und Enkodierung vergleichsweise umständlich ist, in der Regel Kodierungen wie UTF-8 verstanden werden und fast immer auch die 7-Bit Beschränkung keine große Rolle spielt.

Byte Order Mark

Die Byte Order Mark (BOM) UTF-7 kodierter Dateien besteht aus der Byte-Sequenz 2B 2F 76 gefolgt von einem der Bytes 38, 39, 3A oder 3B. Diese Besonderheit, die sich von allen anderen Kodierungen abhebt, resultiert daraus, dass die letzten 2 Bits der kodierten UTF-7-Repräsentation von U+FEFF zum folgenden Byte gehören. Dadurch erhalten wir 4 verschiedene mögliche Bytes auf der vierten Position, die fünfte Variante wird verwendet, wenn kein Zeichen auf die Byte Order Mark folgt.

In einem Texteditor, der die Kodierung UTF-7 nicht versteht, werden die ersten 3 Bytes der Signatur als "+/v" angezeigt. Das vierte Zeichen kann je nach Variation 8, 9, : oder ; sein.