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ère | Bits de zone | Bits numériques | Hexa |
---|---|---|---|
0 | 1111 | 0000 | F0 |
1 | 1111 | 0001 | F1 |
2 | 1111 | 0010 | F2 |
3 | 1111 | 0011 | F3 |
4 | 1111 | 0100 | F4 |
5 | 1111 | 0101 | F5 |
6 | 1111 | 0110 | F6 |
7 | 1111 | 0111 | F7 |
8 | 1111 | 1000 | F8 |
9 | 1111 | 1001 | F9 |
A | 1100 | 0001 | C1 |
B | 1100 | 0010 | C2 |
C | 1100 | 0011 | C3 |
D | 1100 | 0100 | C4 |
E | 1100 | 0101 | C5 |
F | 1100 | 0110 | C6 |
G | 1100 | 0111 | C7 |
H | 1100 | 1000 | C8 |
I | 1100 | 1001 | C9 |
J | 1101 | 0001 | D1 |
K | 1101 | 0010 | D2 |
L | 1101 | 0011 | D3 |
M | 1101 | 0100 | D4 |
N | 1101 | 0101 | D5 |
O | 1101 | 0110 | D6 |
P | 1101 | 0111 | D7 |
Q | 1101 | 1000 | D8 |
R | 1101 | 1001 | D9 |
ASCII (American Standard Code for Information Interchange)
Le code ASCII beaucoup plus connu et utilisé permet de stoquer 128 caractères sur 7 bits.
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
- Wikipedia - Unicode
- Wikipedia - UTF-8 (explique aussi comment connaitre le nombre d’octet d’un caractère)