Centre d‘Information

UTF-16

Le format de codage UTF-16 est le plus ancien de tous les formats de codage Unicode et est optimisé pour les caractères les plus couramment utilisés du plan multilingue de base (Basic Multilingual Plane, BMP). Les caractères Unicode dont le code est compris entre U+0000 et U+FFFF se trouvent dans le plan multilingue de base. Ce sont des écritures latines et autres européennes et leurs symboles, des écritures africaines et asiatiques. Les caractères de cette plage sont directement mappés sur les deux octets (16 bits) d’une unité de code UTF-16.

Ainsi, le codage UTF-16 convient mieux aux caractères de cette zone, même s’il faut deux fois plus d’espace pour les textes ASCII ou ANSI purs par rapport à un codage ANSI ou UTF-8, car pour les caractères ASCII ou ANSI, un seul octet (au lieu de deux octets) est utilisé pour stocker les caractères ASCII dans les codages UTF-8 et ANSI.

Usage

UTF-16 Little Endian est la représentation interne du texte et du format utilisé pour des chaînes dans Windows 2000 / XP / 2003 / Vista / 7 / 10 (et les autres versions Windows intermédiaires) et est ce qui est compris dans l’éditeur Windows sous le codage nommé "Unicode". De plus, d’autres systèmes d’exploitation tels que macOS ou Symbian utilisent UTF-16 comme encodage standard.

Marque d’Ordre d’Octet

Les deux Big Endian et Little Endian peuvent être utilisés pour enregistrer du texte au format UTF-16. La différence est de savoir si les unités d'octets doivent être écrites de gauche à droite ou de droite à gauche. En conséquence, la marque d'ordre d'octet (BOM) pour UTF-16 Big Endian est FE FF et pour UTF-16 Little Endian FF FE.

Si vous regardez un fichier encodé UTF-16 dans un éditeur qui ne peut pas interpréter correctement la marque d'ordre des octets et le format et interprète ainsi le fichier comme un fichier encodé Latin-1, les caractères "þÿ" sont affichés pour UTF16-BE et pour UTF16- LE les caractères "ÿþ" sont affichés.