UTF-7

UTF-7 ist eine Kodierung des Unicode-Zeichensatzes, die in RFC 2152 definiert wird.[1] UTF-7 ist trotz der Namensähnlichkeit zu anderen Kodierungen nicht Bestandteil des Unicode-Standards. UTF-7 erlaubt die Verwendung von Unicode in nicht 8-bit-festen Umgebungen.

Motivation

Viele Protokolle im Internet (etwa SMTP für E-Mail und NNTP für News) setzen die Verwendung von ASCII voraus. Diese Zeichenkodierung erlaubt nur 128 verschiedene Zeichen, die in 7 Bit gespeichert werden. Alle übrigen UTF-Kodierungen verwenden mindestens 8 Bit, um ein Zeichen zu kodieren. So würde eine Übermittlung von UTF-8 anschließend eine 7-Bit-Kodierung erfordern.

Es existieren verschiedene Kodierungsverfahren (siehe MIME), so beispielsweise Base64 und Quoted-printable, die beliebige 8-Bit-Binärdaten in 7-bit-ASCII-Text umwandeln. Abhängig von diesen Kodierungsverfahren und von den zu kodierenden Daten bläht sich die Datenmenge durch die Kodierung auf. UTF-7 wurde entworfen, um diesen zusätzlichen Datenverbrauch bei der Verwendung von Texten, die nur wenige Unicode-Zeichen enthalten, möglichst gering zu halten, und gleichzeitig Textpassagen, die in 7-bit-ASCII darstellbar sind, lesbar zu lassen.

Kodierung

Bei UTF-7 werden die Zeichen A–Z a–z 0–9'(),./:?- so übermittelt, wie sie sind. Die ASCII-Zeichen !"#$%&*;<=>@[]^_`{|} können direkt übertragen werden, sollten aber ebenfalls kodiert werden, da sie eventuell nicht durch alle E-Mail-Gateways korrekt übertragen werden.

Alle anderen Zeichen werden speziell kodiert. Hierfür wird eine Folge von zu kodierenden Zeichen als Strom von 2-Byte-Zeichen (UTF-16, evtl. mit Surrogates) nach einem modifizierten Base64-Verfahren (ohne abschließendes =) in einen Strom von ASCII-Zeichen umgewandelt. Der Start einer solchen kodierten Zeichensequenz wird durch ein Pluszeichen (+) angezeigt, das Ende durch ein Minuszeichen (-) oder durch das erste ASCII-Zeichen, das nicht als Ergebnis der Base64-Kodierung auftreten kann. Überflüssige Bits bei dieser Kodierung sind auf 0 zu setzen.

Bei englischem Text ist diese Kodierung von Menschen ohne Weiteres zu lesen, da kodierte Sonderzeichen nur sehr selten auftreten. Die Umlaute und Sonderzeichen anderer westeuropäischer Sprachen müssen jedoch kodiert werden, was den Text bereits merklich entstellt. Texte in Sprachen, die nicht das lateinische Alphabet verwenden, sind vom Menschen nicht mehr ohne Weiteres lesbar.

Beispiele

  • Der Text „Wikipedia – Die freie Enzyklopädie“ wird in der Kodierung UTF-7 beispielsweise zu Wikipedia +IBM Die freie Enzyklop+AOQ-die.
  • Das Wort Übergröße wird in UTF-7 zu +ANw-bergr+APYA3w-e, was mit 19 Byte etwas kompakter ist, als die 24 Byte, die quoted-printable UTF-8 benötigt: =C3=9Cbergr=C3=B6=C3=9Fe.

UTF-7 hat sich trotz seiner etwas höheren Kodierungseffizienz jedoch nicht durchsetzen können, da andere Verfahren wie quoted-printable und Base64 von nahezu jedem E-Mail- und News-Programm verstanden werden und der größere Kodierungsüberhang in der Praxis keine Rolle spielt.

Einzelnachweise

  1. RFC: 2152 – UTF-7 – A Mail-Safe Transformation Format of Unicode. Mai 1997 (englisch).

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.