Informatique


Le codage des caractères

Aller à


Coder des caractères

Le codage des caractères est une convention qui permet, à travers un codage connu de tous, de transmettre de l’information textuelle. Cela consiste à représenter chaque caractère, par un motif visuel ou sonore.
Les techniques des ordinateurs reposent sur l’association d’un caractère à un nombre.


Le code ASCII

Le code ASCII (American Standard Code for Information Interchange) définit un jeu de 128 caractères numérotés de 0 à 127. Sept bits suffisent donc à les coder.
Cependant, comme la plupart des ordinateurs travaillent sur des données représentées sur un nombre de bits multiple de huit, les caractères ASCII sont codés sur un byte, le bit de poids fort étant 0.

Le jeu de caractères ASCII comprend:
  • les 26 lettres de l’alphabet latin en versions majuscules et minuscules,
  • les 10 chiffres
  • les symboles de ponctuation y compris l’espace
  • les couples de parenthèses, crochets et accolades
  • et quelques autres symboles divers

Les extensions du code ASCII

Outre l’anglais, le jeu de caractères du code ASCII permet d’écrire des textes techniques de toute langue utilisant l’alphabet latin, si on accepte d’ommettre les caractères accentués.

Cependant de telles ommissions, ne sont pas acceptables pour des textes de nature littéraire. C’est pourquoi de nombreuses extensions du code ASCII sont très vite apparues.

Parmi ces extensions citons la famille des codes ISO 8859.

Les codes ISO 8859 sont au nombre de 16 et désignés par ISO 8859-n où n est un entier compris entre 1 et 16.
Tous ces codes définissent chacun un jeu de 224 caractères codés de 0 à 127 et de 160 à 255 (les codes de 128 à 159 sont inutilisés).
Tous ces caractères peuvent et sont représentés sur un byte.

Les caractères de codes compris entre 0 et 127 sont ceux du code ASCII. Les codes ISO 8859 se distinguent par le jeu des caractères de 160 à 255.
Pour avoir les caractères accentués du français il faut utiliser l’ISO 8859-1 (parfois appelé LATIN-1) ou l’ISO 8859-15 (parfois appelé LATIN-15) qui ne se distingue du précédent que par le remplacement de quelques caractères dont le ¤ par €. Avec ISO 8859-1 (ou ISO 8859-15), le é est codé 233.


UNICODE

Les diverses extensions du code ASCII, dont les ISO 8859, présentent l’inconvénient d’être incompatibles entre elles, et le plus souvent d’être spécialisées pour un jeu de caractères lié à une langue.
Comment alors coder dans un même document des textes rédigés avec des alphabets aussi divers que les alphabets latin, cyrillique, grec, arabe, ... ?

C’est pourquoi Unicode a vu le jour au début des années 1990.

Unicode, qui actuellement à sa septième version recense environ 110000 caractères, attribue à chacun d’eux un nom et un numéro (appelé point de code) le plus souvent exprimé sous la forme U+XXXX où XXXX représentent 4 chiffres hexadécimaux.

Les caractères de numéros compris entre 0 et 127 sont ceux du code ASCII. Ceux de code compris entre 160 et 255 sont ceux du code ISO 8859-1.


Les différents encodages des caractères Unicode

Unicode se contente de recenser, nommer les caractères et leur attribuer un numéro. Mais il ne dit pas comment ils doivent être codés en informatique.

Plusieurs codages des caractères Unicode existent :
  • UTF-32 qui code chaque caractère sur 32 bits (soit quatre octets)
  • UTF-16 qui code chaque caractère sur 16 ou 32 bits (soit deux ou quatre octets)
  • UTF-8 qui code chaque caractère sur 8, 16, 24 ou 32 bits (soit un, deux, trois ou quatre octets)
Le plus couramment utilisé, notamment pour les pages Web, est UTF-8.