05 Encodage informatique d’un texte

Introduction

Un ordinateur ne sait que calculer. Il ne comprend que le 0 et le 1. Toutes données qu’il reçoit, qu’il manipule ou qu’il envoie doivent donc être numérisées en utilisant le système binaire (base 2).

S’il est relativement simple de convertir un nombre entier du système décimal au système binaire, comment faire pour d’autres données comme les textes ?

Principe

Le principe consiste simplement utiliser une table de correspondance : chaque caractère est associé à un nombre. Le codage consistera à remplacer un caractère par le nombre lui correspondant. L’ordinateur manipulera une suite de chiffres au lieu d’une chaîne de caractères.

À la manière du codage d’un message secret, nous pourrions utiliser cette table de codage.

ABCDEFGHIJKLM
12345678910111213
NOPQRSTUVWXYZ
14151617181920212223242526
Chaque lettre correspond à un nombre figurant sa place dans l’ordre alphabétique.

Un premier écueil apparaît : 12 pourrait signifier L, mais aussi AB. On voit donc l’importance d’utiliser un codage non ambigu. Il faudrait pour cela préférer cette table de codage à 2 chiffres :

ABCDEFGHIJKLM
01020304050607080910111213
NOPQRSTUVWXYZ
14151617181920212223242526
Chaque lettre correspond à un nombre à 2 chiffres figurant sa place dans l’ordre alphabétique.

Ainsi, 12 ne peut être décodé que comme la lettre L car AB serait codé 0102.

Ce premier codage fait apparaître que 26 codes sont nécessaires au codage de notre alphabet.

D’autres difficultés apparaissent alors :

  • la segmentation des mots (espace et apostrophe) et des phrases (ponctuation),
  • différencier lettres majuscules et minuscules,
  • les chiffres de 0 à 9,
  • les accents…

On voit donc la nécessité, dans un premier temps, d’effectuer un inventaire des caractères utilisés. Si on prend l’exemple de notre alphabet latin, on recense alors 107 caractères différents :

  • 26 majuscules
  • 26 minuscules
  • 10 chiffres
  • les signes diacritiques à â ä é è ê ë ï î ô ö ù û ü ÿ ç
  • la ponctuation . , ; : ? ! – ( ) { } [ ] 
  • l’apostrophe ’, l’astérisque *, les guillemets « »
  • les symboles mathématiques et monétaires + – x ÷ < = > €
  • d’autres caractères & œ æ #

On pourrait également ajouter les majuscules accentuées.

Du côté de l’ordinateur

L’ordinateur utilisant le système binaire1, il faudrait alors au moins 7 bits pour représenter ces informations (2⁷ = 128). Reprenant le codage précédent, on pourrait alors avoir la table de codage suivante :

Il reste un certain nombre de codes non utilisés. On pourrait envisager de leur attribuer une fonction de mise en page comme passer à la ligne, faire un alinéa…

Conventions

L’organisation de la table de codage est subjective et dépend de la personne qui l’établit. Il faut donc que l’émetteur (personne ou machine qui code l’information) utilise le même tableau de correspondance que le récepteur (personne ou machine qui décode l’information), sans quoi, le déchiffrement serait compliqué, voire impossible.

Le système informatique n’utilisant que le 0 ou le 1, il implique également de fixer une autre convention : le nombre de bits utilisés pour coder 1 information, 7 dans le cas présent. 5 bits seraient suffisants si nous ne prenions en compte que les lettres majuscules.

Pour décoder les informations suivantes, il est nécessaire de connaître le nombre de bits utilisés pour le codage afin de segmenter correctement le code :

10000010100110100001001100000011111

→ correspond à élève si on utilise un codage sur 7 bits :

1000001 – 0100110 – 1000010 – 0110000 – 0011111

→ correspond à PJMAF e si on utilise un codage sur 5 bits :

10000 – 01010 – 01101 – 00001 – 00110 – 00000 – 11111


1Voir l’article « Pourquoi l’ordinateur utilise-t-il le système binaire ? »


Précisions

Ce qui vient d’être présenté n’est qu’un exemple permettant d’expliquer le concept d’un codage de l’information. Il présente une façon de coder un texte informatiquement mais ne correspond pas au codage standard utilisé.

Les informaticiens ont choisi une autre convention de codage, basée sur 8 bits, mais qui respecte les principes évoqués précédemment.

Pour aller plus loin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *