Page 1 sur 3
Coder des caractères alphabétiques
Un besoin de standardiser :
Représenter des caractères alphabétiques en binaire est, a priori, une affaire bien plus simple : il
suffit de se mettre d’accord sur une norme qui assigne un caractère spécifique à une chaîne de
bits donnée.
En pratique, la tâche s’avère plus compliquée que cela, notamment à cause de la question du
nombre de bits utilisés par caractère : plus ce nombre est élevé, plus il est possible de
représenter des caractères différents, mais plus chaque caractère prend de la place en mémoire,
ou dans une télécommunication.
Jusque dans les années 1960, chaque matériel informatique possédait son propre format, et les
appareils informatiques étaient souvent fournis avec des programmes et des tables de
correspondance permettant de traduire les formats d’un appareil à un autre.
Un effort de standardisation a été fait à partir des années 1960, mais, comme nous allons le voir,
plusieurs formats différents existent encore à l’heure actuelle, chacun possédant des avantages
et des inconvénients sur les autres.
ASCII
Définition :
Avant 1960 de nombreux systèmes de codage de caractères existaient, ils étaient souvent
incompatibles entre eux. En 1960, l'organisation internationale de normalisation (ISO) décide de
mettre un peu d'ordre dans ce bazar en créant la norme ASCII (American Standard Code for
Information Interchange). À chaque caractère est associé un nombre binaire sur 8 bits (1 octet).
En faite, seuls 7 bits sont utilisés pour coder un caractère, le 8e bit n'est pas utilisé pour le
codage des caractères. Avec 7 bits il est possible de coder jusqu'à 128 caractères ce qui est
largement suffisant pour un texte écrit en langue anglaise (pas d'accents et autres lettres
particulières).
Page 2 sur 3
ISO-8859
Définition :
Le format ISO-8859 commence à être utilisé dans les années 80. Il s’agit d’une extension de
l’ASCII sur 8 bits au lieu de 7 (il y a donc deux fois plus de caractères disponibles, soit 128
nouveaux caractères).
Important :
Le format ISO-8859 existe en plusieurs versions, chacune d’entre elles possédant un ensemble
différent de caractères supplémentaires par rapport à l’ASCII. Ces différentes versions ne sont
qu’en partie compatibles les unes avec les autres.
Définitions :
Le plus utilisé (et le plus utile pour écrire en français) est sans doute le format Latin-1, ou
ISO-8859-1, qui introduit les caractères les plus couramment utilisés dans les langues d’Europe
de l’Ouest.
Unicode
Unicode a été créé pour réunir dans un seul format l’ensemble des caractères utilisables dans
toutes les langues du monde.
Le format d’Unicode le plus célèbre est UTF-8. Il utilise un nombre de bits par caractère qui
dépend du caractère : les caractères courants, ceux de l’ASCII, sont codés sur 8 bits (un octet),
certains caractères plus rares sont codés sur 4 octets. UTF-16 et UTF-32 sont deux autres
formats célèbres. Ils sont bien plus lourds, mais contiennent bien plus de caractères.
Exemple :
Par exemple, dans UTF-32, tous les caractères sont codés sur 4 octets. Un texte ne comportant
que des caractères ASCII sera donc quatre fois plus lourd en UTF-32 qu’en UTF-8, mais par
contre, le format UTF-32 comporte vraiment beaucoup de caractères (les caractères occidentaux,
cyrilliques, chinois, japonais... même les hiéroglyphes égyptiens).
Des usages différenciés
La norme ASCII est la plus utilisée pour la programmation informatique. En effet, les codes des
programmes informatiques sont souvent pensés pour privilégier la fiabilité et l’efficacité au confort
de lecture, et la norme ASCII est la plus ancienne. De plus, toutes les autres normes sont
compatibles avec elle, et le code ASCII est celui qui prend le moins de place en mémoire.
La norme ISO-8859 est la plus utilisée pour les documents textes (.pdf, .txt, .doc, .odt). Pour les
documents textes, chaque document n’a besoin que de signaler dans les métadonnées le type de
format ISO-8859 utilisé dans le document, ce qui permet au lecteur d’utiliser la table de
caractères adéquate pour lire le texte.
La norme UTF-8 est la plus utilisée sur le World Wide Web (plus de 92 % des sites Web). Enfin,
sur Internet, la possibilité d’être lu et compris par le plus grand nombre est essentielle, et le
format UTF-8 permet de s’assurer que des personnes venant d’un peu partout autour du globe
pourront communiquer avec le même code dans les commentaires d’une page web ou sur un
réseau social.
Page 3 sur 3
Mise en activité
Ecrire des fonctions Python permettant de passer une chaine de caractères minuscule en
majuscule et vice-versa.
Faire des recherches sur les fonctions « chr » et « ord ».