Les caractères
Les caractères
I) Introduction
Un ordinateur ne pouvant stocker que des nombres écrits en binaire, on associe à chaque caractère un nombre ce qui permet de stocker les chaines de caractères.
Un texte est alors une suite de nombres : on parle de chaine de caractères.
Exemple :
On ne considère que les lettres majuscules de l’alphabet latin, que l’on code de 00 à 25, puis les 10 chiffres, en ayant à l’esprit que l’ordinateur ne considère pas les chiffres comme des nombres mais comme des caractères, ce qui rend impossible les opérations mathématiques entre eux; puis des éléments de ponctuation.
Caractère | A | B | … | Z | 0 | 1 | … | 9 | . | , | : | ? | ! | |
Nombre associé | 00 | 01 | … | 25 | 26 | 27 | … | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
Ainsi la phrase SALUT LES AMIS ! est codée par :
18 00 11 20 19 41 00 13 09 18 41 00 13 09 18 41 40
II) Principe
La méthode revient donc à considérer un ensemble de caractères d’intérêt, qui sont utilisés pour écrire, et à leur associer à chacun d’eux un identifiant numérique (un code) unique de telle manière qu’à chaque caractère corresponde un seul numéro. Cette correspondance est appelée un charset.
Il faudra cependant prêter une attention particulière au fait que le charset, c’est à dire le tableau des correspondances, n’est pas identique à l’encodage, qui renvoie à la méthode pour encoder. En effet, les méthodes d’encodage actuelles assez évoluées où l’encodage ne se fait pas caractère par caractère.
Lorsqu’il n’y a pas d’encodage, on parle de charmap.
III) Différentes méthodes
Plusieurs méthodes ont été créées afin de stocker les caractères.
La première est le codage ASCII qui est un codage américain datant de 1961 utilisant 7 bits et permettant ainsi de coder $2^7 = 128$ caractères différents. Ce codage fut très vite limité car il ne contenait pas d’accents car il ne permettait pas de coder un nombre suffisant de caractères.
Pour résoudre ce problème, d’autres codes sont apparus.
Le système de codage ISO 8859 est alors apparu et utilisait 8 bits, soit $2^8 = 256$ valeurs ce qui permettait de coder les accents des langues latines.
Toutefois, les langues latines possédant des accentuations différentes, ce système de codage s’est décliné en 16 sous iso, que l’on indique par un chiffre entouré de parenthèses.
Dans les années 1990, l’ISO 10646 est apparu et permettait de coder 2 097 152 caractères.
Il est bon de savoir que tous les codes des systèmes de codage ne sont pas associés à des éléments apparaissant sur l’écran, c’est le cas par exemple du retour à la ligne ou retour chariot.
D’autres codes permettent aussi d’éviter qu’un signe de ponctuation ne début une ligne seul, lorsqu’il est rattaché à une phrase terminant une ligne. Ce code rend alors la ponctuation insécable du mot auquel elle est rattachée.
Afin d’uniformiser ces systèmes de codage, le système de codage UNICODE est apparu en 1991, avec un système d’encodage relativement élaboré comme c’est le cas de l’UTF-8 ou l’UTF-16.
Ces systèmes d’encodage permettent par exemple d’associer à des caractères un nombre d’octets différents, un caractère ne correspondant pas forcément à 8 bits.