Tout comme pour le langage morse il est nécessaire d’avoir un tableau de traduction pour les opérations de codage et de décodage de textes. Dans ce tableau, chaque signe pouvant être utilisé dans un texte correspond à une combinaison de 0 et de 1.
0100000 | 0 | 0110000 | @ | 1000000 | P | 1010000 | ` | 1100000 | p | 1110000 | |
! | 0100001 | 1 | 0110001 | A | 1000001 | Q | 1010001 | a | 1100001 | q | 1110001 |
" | 0100010 | 2 | 0110010 | B | 1000010 | R | 1010010 | b | 1100010 | r | 1110010 |
# | 0100011 | 3 | 0110011 | C | 1000011 | S | 1010011 | c | 1100011 | s | 1110011 |
$ | 0100100 | 4 | 0110100 | D | 1000100 | T | 1010100 | d | 1100100 | t | 1110100 |
% | 0100101 | 5 | 0110101 | E | 1000101 | U | 1010101 | e | 1100101 | u | 1110101 |
& | 0100110 | 6 | 0110110 | F | 1000110 | V | 1010110 | f | 1100110 | v | 1110110 |
' | 0100111 | 7 | 0110111 | G | 1000111 | W | 1010111 | g | 1100111 | w | 1110111 |
( | 0101000 | 8 | 0111000 | H | 1001000 | X | 1011000 | h | 1101000 | x | 1111000 |
) | 0101001 | 9 | 0111001 | I | 1001001 | Y | 1011001 | i | 1101001 | y | 1111001 |
* | 0101010 | : | 0111010 | J | 1001010 | Z | 1011010 | j | 1101010 | z | 1111010 |
+ | 0101011 | ; | 0111011 | K | 1001011 | [ | 1011011 | k | 1101011 | { | 1111011 |
, | 0101100 | < | 0111100 | L | 1001100 | \ | 1011100 | l | 1101100 | | | 1111100 |
- | 0101101 | = | 0111101 | M | 1001101 | ] | 1011101 | m | 1101101 | } | 1111101 |
. | 0101110 | > | 0111110 | N | 1001110 | ^ | 1011110 | n | 1101110 | ~ | 1111110 |
/ | 0101111 | ? | 0111111 | O | 1001111 | _ | 1011111 | o | 1101111 | DEL | 1111111 |
Exemple: la lettre t minuscule correspond à la suite 1110100
Ce tableau a été publié pour la première fois en 1967 en tant que standard. Son nom est American Standard Code for Information Interchange (ASCII). Il est communément utilisé de nos jours dans les ordinateurs pour le codage de textes (voir Wikipedia http://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange).
Le téléphone portable des trois robots est équipé d’un procédé de compression pour les messages textuels. Il s’agit d’un procédé de compression sans perte qui tient compte des spécificités de l’orthographe française. En français, la répétition de lettres est fréquente. Le tableau de codage figurant ci-dessus est donc complété par la règle suivante:
Si une lettre n’apparaît qu’une fois, appose un 0 devant le code binaire de la lettre, si la lettre apparaît deux fois, appose un 1 devant le code binaire de la lettre.
01010010 | b |
11010010 | bb |
Voyez ici comment on peut coder un message texte et quels sont les effets de la compression. Pour illustrer l’exemple, prenons le mot
assaisonnement |
Sans compression, le codage est relativement simple. Chaque lettre doit être remplacée par le code correspondant figurant dans le tableau ci-dessus:
S | 1010011 |
c | 1100011 |
h | 1101000 |
i | 1101001 |
f | 1100110 |
f | 1100110 |
f | 1100110 |
a | 1100001 |
h | 1101000 |
r | 1110010 |
t | 1110100 |
s | 1110011 |
g | 1100111 |
e | 1100101 |
s | 1110011 |
e | 1100101 |
l | 1101100 |
l | 1101100 |
s | 1110011 |
c | 1100011 |
h | 1101000 |
a | 1100001 |
f | 1100110 |
t | 1110100 |
Si l’on rassemble tous les codes individuels, on arrive au message suivant, se composant de 98 bits (=14 x 7)
1010011110001111010001101001110011011001 1011001101100001110100011100101110100111 0011110011111001011110011110010111011001 1011001110011110001111010001100001110011 01110100 |
Avec la règle de compression, le codage devient plus complexe, car chaque signe ne correspond pas forcément à un code. Dans l’exemple, il y a deux endroits où la règle de compression permet de faire une économie, à savoir là où la lettre double peut être représentée par un seul code.
S | 01010011 |
c | 01100011 |
h | 01101000 |
i | 01101001 |
ff | 11100110 |
f | 01100110 |
a | 01100001 |
h | 01101000 |
r | 01110010 |
t | 01110100 |
s | 01110011 |
g | 01100111 |
e | 01100101 |
s | 01110011 |
e | 01100101 |
ll | 11101100 |
s | 01110011 |
c | 01100011 |
h | 01101000 |
a | 01100001 |
f | 01100110 |
t | 01110100 |
La compression a permis une petite économie de place, puisque le message se compose de 96 bits (=12 x 8). Il est donc un peu plus court que le message non comprimé.
0101001101100011011010000110100111100110 0110011001100001011010000111001001110100 0111001101100111011001010111001101100101 1110110001110011011000110110100001100001 0110011001110100 |
Exercice de remue-méninges: Existe-t-il d’autres règles de compression efficaces pour comprimer la langue française?
La décompression est plus simple dans l’ordre inverse: