Représentation d’un texte en machine

Représentation d'un texte en machine

Un ordinateur ne manipulant que des nombres, tout texte (lettres, signes de ponctuation, symboles) doit être converti en une suite de bits pour être stocké ou transmis. C'est ce qu'on appelle le codage de caractères.

Définition : Table de caractères

Une table de caractères est une convention qui associe à chaque symbole (lettre, chiffre, symbole) un nombre entier unique appelé "point de code".


I. Le code ASCII

Historiquement, le premier standard largement utilisé est le code ASCII (American Standard Code for Information Interchange). Il utilise 7 bits pour coder 128 caractères différents.

Exemple : Points de code ASCII

La lettre A (majuscule) a pour code décimal 65, soit 1000001 en binaire.

Le caractère espace a pour code décimal 32.

La limite de l'ASCII est qu'il ne contient pas de caractères accentués (é, à, ç), indispensables pour la langue française et beaucoup d'autres.


II. Vers un standard universel : Unicode et UTF-8

Pour représenter tous les alphabets du monde (chinois, arabe, émojis, etc.), le standard Unicode a été créé. Le format le plus utilisé pour coder cet Unicode est l'UTF-8.

Définition : UTF-8

L'UTF-8 est un codage à taille variable : les caractères les plus fréquents (ASCII) sont codés sur 1 octet, tandis que d'autres peuvent utiliser jusqu'à 4 octets.


III. Problèmes d'encodage

Si un fichier est enregistré avec un encodage (ex: Latin-1) et ouvert avec un autre (ex: UTF-8), les caractères spéciaux s'affichent mal. C'est le fameux problème des caractères "bizarres" (comme é à la place de é).

Exemple : Taille d'un fichier texte

Dans un fichier texte brut (.txt), chaque caractère ASCII occupe exactement 1 octet. Un texte de 1000 caractères pèsera donc environ 1 Ko.