About Encoding
Format de Codage des caractères
Table
|
Bits
|
Octets
|
Nbs car
|
Pays
|
Ascii
|
7
|
0.8
|
128
|
US
|
Ansi
|
8
|
1
|
256
|
Europe
|
Guobiao
|
16
|
2
|
65536
|
Chine
|
Unicode
|
16
|
2
|
65536
|
Monde
|
UTF-8
|
8-24
|
1-3
|
65536
|
Adaptateur
|
Ascii = Sous-partie de Ansi (0XXX XXXX)
Ansi = Sous-partie de Unicode (0000 0000 XXXX XXXX)
UTF-8 permet de coder sur un nombre variable d'octets, donc permet aux USA de continuer à s'exprimer en Ascii (7 bits + 1 flag) et aux autres de pouvoir s'exprimer quand même, dans un Pseudo-Unicode (2/3 octets).
Conversion UTF-8 -> Ascii
0XXX XXXX où XXX XXXX est le caractère Ascii (0 à 128)
Conversion UTF-8 -> Unicode
110X XXXX 10XX XXXX où X XXXX XX XXXX est le caractère Unicode (0 à 2048)
111? XXXX 10XX XXXX 10XX XXXX où XXXX XX XXXX XX XXXX est le caractère Unicode (0 à 65536)
Lettre
|
Ascii
|
Ansi
|
Unicode
|
UTF-8
|
UTF-8 vu sous Unicode
|
A
|
65 41h 100 0001
|
65 41h 0100 0001
|
65 0041h 0000 0000 0100 0001
|
65 41h 0100 0001
|
A
|
é
|
|
233 E9h 1110 1001
|
233 00E9h 0000 0000 1110 1001
|
195 169 C3A9h 1100 0011 1010 1001
|
é
|
œ
|
|
|
339 0153h 0000 0001 0101 0011
|
197 147 C593h 1100 0101 1001 0011
|
Å
|
ī pinyin
|
|
|
299 012Bh 0000 0001 0010 1011
|
196 171 C4ABh 1100 0100 1010 1011
|
Ä«
|
Lettre
|
GB2312 (GuoBiao)
|
Unicode
|
UTF-8
|
UTF-8 vu sous Unicode
|
一 yī chinois (un)
|
210 187 D2BBh 1101 0010 1011 1011
|
19968 4E00h 0100 1110 0000 0000
|
228 184 128 E4B880h 1110 0100 1011 1000 1000 0000
|
ä¸
|
我 wŏ chinois (je)
|
206 210 CED2h 1100 1110 1101 0010
|
25105 6211h 0110 0010 0001 0001
|
230 136 145 E68891h 1110 0110 1000 1000 1001 0001
|
æ
|
Utilisation de l'Unicode en HTML :
nnnn; où nnnn est la valeur hexadécimale de l'Unicode du caractère. Ainsi, on choisit un mode de codage quelconque (charset=iso-8859-1 pour le français, charset=gb2312 pour le chinois, etc ...) puis on code en Unicode les caractères qui n'appartiennent pas au charset défini. On peut aussi utiliser les caractères spéciaux html. Simple !
Attention: La police doit être "Verdana" dans certains cas (français, pinyin, chinois) et "Lucida Console" (Ascii/DOS). Sinon, on risque de se retrouver avec des carrés. Ce point reste à éclaircir. N'hésitez pas à m'envoyer des infos.
Quant aux emails, leur entête contient toujours le type d'encodage utilisé (UTF-8, Unicode, etc). Il suffit donc de jeter un coup d'oeil à l'entête, d'aller dans votre navigateur ou éditeur préféré, et de sélectionner une visualisation sous cet encodage ! Parfois l'encodage du message est textualisé par le logiciel ou le site de messagerie. Les codes ne sont plus interprétés par le navigateur mais affichés tels quels. Illisible. Une méthode consiste à copier le texte codé et à le coller dans un document HTML vierge afin qu'il puisse être relu et décodé par le navigateur.
Pour convertir manuellement dans VIM:
La commande "ga" permet d'afficher le code hexadécimal du caractère sous le curseur. Il est possible d'utiliser aussi des convertisseurs en ligne comme Hapax Conversion.
Utiliser la table de décalage suivante:
152 => 8C, 153 => 9C, 160 => 8A, 161 => 9A, 178 => 9F, 17D => 8E, 17E => 9E, 192 => 83, 2C6 => 88, 2DC => 98, 2013 => 96, 2014 => 97, 2018 => 91, 2019 => 92, 201A => 82, 201C => 93, 201D => 94, 201E => 84, 2020 => 86, 2021 => 87, 2022 => 95, 2026 => 85, 2030 => 89, 2039 => 8B, 203A => 9B, 20AC => 80, 2122 => 99
Entrer les codes au format hexadécimal précédés d'une colonne d'adresses, puis utiliser la commande "hof" suivante:
nmap hof :%!xxd -r
Exemple:
Chaîne de caractères initiale
|
我的祖国: 法国
|
Code hexa avec "ga"
|
E6 2C6 2018 E7 161 201E E7 A5 2013 E5 203A BD 3A 20 E6 B3 2022 E5 203A BD
|
Code hexa décalé
|
E6 88 91 E7 9A 84 E7 A5 96 E5 9B BD 3A 20 E6 B3 95 E5 9B BD
|
Code avec colonne d'adresse
|
00000000: e688 91e7 9a84 e7a5 96e5 9bbd 3a20 e6b3
00000010: 95e5 9bbd
|
Affichage final
|
我的祖国: 法国
|
Code ISO Unicode nnnn : &#nnnn;
Code WML x : &x;
50147 visitors
850589 robots
since 01/01/2003
Page generated
in 1.42 seconds
💗 2003-2025 by S. MARLIERE. Copying is an act of love. Love is not subject to law. Please copy and share.