UTF-7
UTF-7 ist eine Kodierung des Unicode, die in RFC 2152 definiert wird. UTF-7 erlaubt die Verwendung von Unicode in nicht 8-bit-festen Umgebungen.
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.
Unicode hingegen verwendet 16 oder 32 Bit, um ein Zeichen zu kodieren. Eine Übermittlung von Unicode-Zeichen per E-Mail oder im Usenet erfordert daher eine Umwandlung in eine 7-bit-Kodierung.
Es existieren verschiedene Kodierungsverfahren (Siehe: MIME), so z. B. Base64 und Quoted-printable, die beliebige 8-Bit-Binärdaten in 7-bit-ASCII-Text umwandeln. Abhängig vom Kodierungsverfahren und von den zu kodierenden Daten bläht sich die Datenmenge durch die Kodierung auf. UTF-7 wurde entworfen, um diesen Kodierungsoverhead bei der Verwendung von Texten, die Unicode-Zeichen enthalten, möglichst gering zu halten, und Textpassagen, die in 7-bit-ASCII darstellbar sind, lesbar zu lassen.
Bei UTF-7 werden die Zeichen A-Za-z0-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 (Diese Zeichenfolge kann auch aus nur einem Zeichen bestehen) als Strom von 2-Byte-Zeichen nach einem modifizierten Base64-Verfahren 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.
Bei englischem Text ist diese Kodierung von Menschen ohne weiteres zu lesen, da nur 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.
UTF-7 hat sich trotz seiner 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 Kodierungsoverhead in der Praxis keine Rolle spielt.