Concept

UTF-16

Résumé
UTF-16 est un codage des caractères définis par Unicode, où chaque caractère est codé sur une suite de un ou deux mots de 16 bits. Le codage était défini dans le rapport technique 17, annexé à la norme Unicode. Depuis, cette annexe est devenue obsolète car UTF-16 fait partie intégrante de la norme Unicode, dans son chapitre 3 Conformance, qui la définit de façon très stricte. L'UTF-16 ne doit pas être confondu avec l'UCS-2 qui est le codage, plus simple, de chaque caractère sur deux octets. Ces deux normes sont pourtant appelées toutes les deux Unicode, car le codage est le même tant que l'on n'utilise pas les plages entre U+D800 et U+DFFF (en principe réservées) et les plages au-delà U+FFFF (peu utilisées en Occident). L'UTF-16 est en particulier utilisé dans les environnements Windows. Dans ce système, les API dites Unicode utilisent ce standard. Il en va de même du système NTFS. UTF-16 est le standard de chaînes de caractères utilisé par l'UEFI. Le numéro de chaque caractère (son point de code) est donné par la norme ISO/CEI 10646, et repris à l'identique par le standard Unicode. Les points de code qui peuvent être représentés doivent être dans l’intervalle de validité U+0000 à U+10FFFF, et ne doivent pas être affectés à un non-caractère. Tous les caractères possibles dans Unicode possèdent de tels points de code. Tout point de code qui n’est pas un non-caractère, et dont la valeur peut être codée sur un seul codet de deux octets (16 bits), c’est-à-dire tout point de code U+0000 à U+D7FF et U+E000 à U+FFFD, est stocké sur un seul mot de 16 bits (la plage de non-caractères U+D800 à U+DFFF est donc exclue, c'est-à-dire les points de code dont les 5 bits de poids fort sont 11011). Dans les autres cas, le caractère est un point de code d’un plan supplémentaire (donc entre U+10000 et U+10FFFD et dont les 16 bits de poids faible ne doivent pas égaler 0xFFFE ou 0xFFFF) ; il est alors stocké sur 2 mots (codets) successifs de 16 bits chacun, dont les valeurs correspondent aux points de code réservés dans les demi-zones d’indirection allouées dans le plan multilingue de base des normes Unicode et ISO/CEI 10646 : le premier mot aura les 6 bits de poids fort égaux à 110110 et sera donc compris dans l’intervalle [0xD800 .
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.