Encodages définis par l'Unicode

UCS Transformation Format ou Unicode Transformation Format (UTF)

UTF-32

Encodage de taille fixe sur 4 octets. Il s'agit d'un sous-ensemble de l'UCS-4 pour les valeurs comprises entre 000000 et 10FFFF (Unicode).
Une séquence initiale correspondant à "zero-width no-break space" U+FEFF doit être placée en début de chaîne (flot) et être interprétée comme une marque d'ordre d'écriture des octets "Bit Order Mark" (BOM) : big-endian ou little-endian.
 
Caractères:BOMAP I:ɛSPACE
little-endian:FFFE00004100000050000000 490000003A0000005B02000020000000
big-endian:0000FEFF0000004100000050 000000490000003A0000025B00000020
Gothic:𐌰
470000006F0000007400000068000000 69000000630000003A00000030030100
000000470000006F0000007400000068 00000069000000630000003A00010330
Résultat: API:ɛ Gothic:𐌰


UTF-16

Encodage de longueur variable sur 16 ou 32-bit (2 ou 4 octets) équivalent au standard Unicode avec l'utilisation des paires de substituts (surrogate). Chaque valeur UCS-2 vaut pour elle même. Les codes en dehors du BMP et compris dans les plans de 1 à 16 du groupe 00 sont représentés sur 4 octets (un couple de 2 mots de 2 octets chacun: le premier mot doit être compris entre D800 et DBFF le second entre DC00 et DFFF ce qui représente 10242 (220)combinaisons possibles en plus des 216 combinaisons du BMB).

UTF-16Scalar Value
BMPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Plan 1 à 16 110110wwwwxxxxxx 110111xxxxxxxxxx 000uuuuuxxxxxxxxxxxxxxxx
Exemple 1101100000000000 1101111100000010 000000010000001100000010
wwww = uuuuu - 1.
Codage du caractère U+010302 comme une surrogate pair U+D800 U+DF02 Exemple d'Encodage/Decodage UTF-16


Une séquence initiale correspondant à "zero-width no-break space" U+FEFF doit être placée en début de chaîne (flot) et être interprétée comme une marque d'ordre d'écriture des octets "Bit Order Mark" (BOM) : big-endian ou little-endian.
 
CaractèresBOMAP I:ɛSPACE
little-endianFFFE41005000 49003A005B022000
big-endianFEFF00410050 0049003A025B0020
Goth ic:𐌰
47006F0074006800 690063003A00DC00DF30
0047006F00740068 00690063003A00DC30DF
Résultat: API:ɛ Gothic:𐌰


UTF-8

Encodage de longueur variable sur 1 à 6 octets.

CaractèrerangValeur scalaireUTF-8
a ASCII 00000000.00000000.00000000.01100001 a 01100001
é ISO-8859-1 00000000.00000000.00000000.11101001 é 11000011.10101001
ɛ API 00000000.00000000.00000010.01011011 É› 11001001 10011011
𐌰 Gothic 00000000.00000001.00000011.00110000 ðŒ° 11110000.10010000.10001100.10110000
Exemple d'Encodage/Decodage UTF-8


UTF-7 (Historique)

Encodage de longueur variable sur 1 à 9 octets utilisant uniquement des caractères ASCII (7 bits). Utilisé principalement pour le courier (SMTP). Les caractères a-z A-Z 0-9 et quelques autres sont codés tels que, les autres sont codés avec un sous ensemble de ces derniers avec un caractère '+' au début et un caractère '-' à la fin...
Par exemple: le caractère 'é' est codé par la séquence: +AOk-