Il va très vite aussi être nécessaire de réprésenter d’autres données que des nombres.

On a donc inventer plusieurs codes alphanumériques. C’est à dire des codes qui permettent de représenter des chiffres, des lettres, des signes de ponctuation, etc.

Chaque code lie un symbole à un nombre. Ainsi on utilise des “tables de codage” pour savoir quel nombre correspond à tel caractère.

EBCDIC (Extended Binary Coded Decimal Interchange Code)

Ce code est une extension du “BCD” (Binary Coded Decimal) mais sur 8 bits (4 bits de “zone” et 4 bits numériques)

CaractèreBits de zoneBits numériquesHexa
011110000F0
111110001F1
211110010F2
311110011F3
411110100F4
511110101F5
611110110F6
711110111F7
811111000F8
911111001F9
A11000001C1
B11000010C2
C11000011C3
D11000100C4
E11000101C5
F11000110C6
G11000111C7
H11001000C8
I11001001C9
J11010001D1
K11010010D2
L11010011D3
M11010100D4
N11010101D5
O11010110D6
P11010111D7
Q11011000D8
R11011001D9

ASCII (American Standard Code for Information Interchange)

Le code ASCII beaucoup plus connu et utilisé permet de stoquer 128 caractères sur 7 bits.

ASCII table

Ensuite le code ASCII fut stoqué sur 8 bits car IBM a ajouté 127 codes supplémentaires pour d’autres caractères plus spécifiques (mais pas supportés par tous les ordinateurs).

Les codes 0 à 31 sont des caractères de contrôle pour la transmission des données ou l’affichage sur un terminal (tab, retour à la ligne, etc).

Unicode et UTF-8

Le code ASCII étant d’origine américaine, beaucoup de caractères n’étaient pas supportés (par exemple, les caractères accentués).

L’organisation internationale de normalisation (ISO) a donc tenté de créer un standard pour l’échange de textes dans différentes langues : l’Unicode.

L’une des formes les plus utilisées (surtout sur internet) de ce standard est le code UTF-8 qui est extensible est compatible avec l’ASCII.

L’UTF-8 est à taille variable, les caractères peuvent être représenté sur 1, 2, 3 ou 4 octets. Si le caractère est représenté sur 1 octet, alors c’est un caractère ASCII.

Ainsi l’UTF-8 permet de représenter 149 186 caractères différents (et a la possibilité de coder au total 2 097 152 caractères différents).

Représentation des données dans les languages de programmation

Chaque language a sa propre manière de représenter ses données. Par exemple, en C une chaine de caractère est stoquée comme étant une succession de caractères séparés par des caractères sépciaux.

En savoir plus