Introduction
| Unicode |
|---|
Jeux de caractères
|
Équivalences normalisées
|
Propriétés et algorithmes
|
|
Autres transformations
|
Applications d'échanges de données
|
UTF-8 (UCS transformation format 8 bits) est un format de codage de caractères. Il permet de gérer tous les caractères dits unicodes. Chaque caractère est codé sur un ou plusieurs points de code. Chaque point de code est codé sur une suite d’un à quatre octets. Il a été conçu pour être compatible avec certains logiciels originellement prévus pour traiter des caractères d’un seul octet.
Nota Bene: Le concept de point de code (en anglais code point) utilisé dans cet article est un concept défini en anglais pour la norme Unicode, et à la fois en anglais et en français dans la norme ISO/CEI 10646).
D'un point de vue technique, le format de transformation est défini pour tous les points de code ayant une valeur scalaire (qu’ils soient attribués ou non à des caractères ou des « non-caractères ») dans le répertoire universel (Universal Character Set, ou UCS), commun à la norme ISO/CEI 10646 et au standard Unicode (depuis sa version 1.1).
UTF-8 est apparu initialement dans une proposition de standard publiée en 1996 dans la RFC 2044 (« UTF-8, a transformation format of ISO 10646 »). Depuis lors, cette RFC a fait l’objet d’une normalisation par le comité technique de la norme ISO/CEI 10646 qui a publié en 1998 une première révision dans la RFC 2279. À peu près en même temps que le Consortium Unicode et l’ISO ont convenu de synchroniser leurs répertoires, le codage est aussi apparu dans le rapport technique 17 de la norme Unicode. D’autres restrictions ont été ajoutées et incorporées dans le standard Unicode en 2003, où il fait désormais partie intégrante de la norme dans son chapitre 3 « Conformité » (Conformance). À la même date ces restrictions ont été approuvées par l’Organisation internationale de normalisation (ISO) qui a publié la RFC 3629. Le codage UTF-8 est approuvé par l’Internet Engineering Task Force (IETF), qui suit ses évolutions dans le Standard Track BCP 63 ; il est également approuvé par le World Wide Web Consortium (W3C), et la plupart des organismes de normalisation nationaux.
L’IETF requiert maintenant qu’UTF-8 soit pris en charge par tous les nouveaux protocoles de communication d’Internet (publiés dans ses RFC numérotées) qui échangent du texte (les plus anciens protocoles n’ont toutefois pas été modifiés pour rendre ce support obligatoire, mais seulement étendus si possible, pour le supporter de façon optionnelle, si cela produit des incompatibilités ou introduit de nouveaux risques de sécurité : c’est le cas de protocoles Internet très utilisés comme DNS, HTTP, FTP, Telnet et de HTML dans ses versions initiales non normalisées par le W3C).