Centre d‘Information

UTF-7

UTF-7 est un codage utilisé pour coder les caractères Unicode en utilisant uniquement la plage de caractères ASCII. Ce codage présente l’avantage que, même dans les environnements ou les systèmes d’exploitation ne comprenant que l’ASCII 7 bits, les caractères Unicode peuvent être représentés et transférés.

Par exemple, certains protocoles Internet tels que SMTP pour le courrier électronique, n’autorisent que les 128 caractères ASCII et tous les autres octets plus grands ne sont pas autorisés. Tous les autres codages UTF utilisent au moins 8 bits, de sorte qu’ils ne peuvent pas être utilisés à ces fins.

Les caractères A à Z, a à z, 0 à 9 et les caractères spéciaux ' ( ) , . / : - ? restent dans le codage tels quels. Ainsi, les textes composés principalement de caractères ASCII restent largement lisibles. Les caractères ASCII ! " # $ % & * ; < = > @ [ ] ^ _ ` { | } peuvent rester tels quels, mais doivent être codés, car ils peuvent ne pas être compris par tous les programmes et protocoles. Tous les autres caractères sont encodés et également convertis en caractères ASCII. Le + marque le début d’un tel encodage, le - (ou tout autre caractère ne pouvant figurer dans l’encodage) marque la fin.

Le mot allemand pour "fromage", "Käse", par exemple, serait codé comme K+AOQ-se. Les caractères ASCII K, s et e restent les mêmes, alors que "ä" est converti en AOQ (autres caractères ASCII). Le début et la fin de cette séquence sont marqués par - et +.

Usage

Bien que UTF-7 ait une grande efficacité de codage, il ne pourrait pas prévaloir car le décodage et le codage sont relativement difficiles, des codages comme UTF-8 peuvent être compris par la plupart des logiciels et la limitation à 7 bits importe peu.

Marque d’Ordre d’Octet

La marque d'ordre d'octet (Byte Order Mark, BOM) des fichiers codés en UTF-7 se compose de la séquence d'octets 2B 2F 76 suivie de l'un des octets 38, 39, 3A ou 3B. Cette spécialité, qui diffère de tous les autres encodages, résulte du fait que les 2 derniers bits de la représentation UTF-7 encodée de U+FEFF appartiennent à l'octet suivant. Cela nous donne 4 octets différents possibles en quatrième position, la cinquième variante est utilisée s'il n'y a pas de caractère après la marque d'ordre des octets.

Dans un éditeur de texte qui ne comprend pas le codage UTF-7, les 3 premiers octets de la signature sont affichés sous la forme "+/v". Selon la variation, le quatrième caractère peut être 8, 9, : ou ;.