Bits, octets, caractères et leurs multiples

Le bit et ses multiples

 

Le bit – abréviation en anglais de binary digit – est la quantité minimale d’information portée par un message. Il correspond à l’identification de l’état actuel d’un système à deux états : Ouvert/fermé, sous tension/ hors tension, passant/ bloqué, vrai/faux, etc.

 

On représente, dans les écrits, les deux états du bit sous forme d’un 0 et d’un 1, mais ce n’est qu’une convention d’écriture.

 

Pour des raisons probablement historiques et technologiques le groupement des bits par paquets de 8 (octets) est devenu la règle.  8 est une puissance de deux, ce qui est en harmonie avec les systèmes d’adressage des calculateurs qui s’appuient sur une numération exprimée en binaire. Par ailleurs, une séquence de 8 bits permettait un codage relativement large des caractères des alphabets les plus fréquents à une époque où la mémoire était très limitée et chère…

 

Le temps passant, les capacités en matière de mémoire ont explosées, et il a fallu utiliser les multiples de l’octet pour pouvoir appréhender aisément les capacités des mémoires qu’elles soient sur disque ou sur des puces.

 

Mais alors même que l’informatique devrait être le fer de lance de la rigueur, deux systèmes sont venus semer le trouble.

 

Alors que le kilomètre fait bien 1000 mètres et le kilogramme fait bien 1000 grammes, le kilooctet peut faire soit 1000 octets (auquel cas il s’écrit  ko, mais plus généralement 1024 octets (auquel cas il s’écrit Ko ou Kio – pour Kibioctet, selon la normalisation (peu appliquée) de la CEI.

 

Voici donc un tableau des multiples les plus fréquents de l’octet :

 

Nom Abrév. Valeur Nom Abrév. Valeur
kilooctet ko 103 kibioctet Ko ou Kio 210 (1024)
mégaoctet Mo 106 mébioctet Mio 220 (1 048 576)
gigaoctet Go 109 gibioctet Gio 230
Téraoctet To 1012 tébioctet Tio 240
pétaoctet Po 1015 pébioctet Pio 250
exaoctet Eo 1018 exbioctet Eio 260

 

Un téraoctet qui est une capacité désormais classique de disque dur comporte : 1 000 000 000 000 octets alors que le tébioctet en comporte : 1 099 511 627 776, soit un écart d’environ 10 % !!

 

Les caractères

 

Afin de pouvoir échanger des messages, il a été nécessaire de mettre en place une convention partagée entre les différents correspondants.

 

Le code Baudot est un des premiers codes partagés. Il était utilisé pour les échanges via le télex et comportait 5 bits (en fait des trous sur un ruban). Ce code ne permettait que les majuscules et quelques codes particuliers (dont le « son de cloche » pour prévenir de l’arrivée d’un message).

 

Le premier code majeur pour les ordinateurs a été le code ASCII (American Standard Code for Informations Interchange). Ce code est basé sur des représentations à 7 bits, mais stockées sur 8 bits.

 

Il comprend :

  • Les 10 chiffres,
  • Les 26 lettres de l’alphabet latin en versions majuscules et minuscules, mais exclus les accents ou les caractères spécifiques comme le eszett allemand ou le O barré des scandinaves.
  • Les symboles de ponctuation y compris l’espace, les parenthèses, crochets et accolades
  • Quelques symboles divers ou code de commande saut de ligne, tabulation….

 

Si le code ASCII est bien adapté pour les langues non accentuées comme l’anglais, en revanche l’absence d’accents et de caractères propres à certaines langues  européennes  a amené à définir de nouveaux codes.

 

Les codes ISO 8859-n permettent de disposer de codes complémentaires en utilisant les huit bits de l’octet. Les codes utilisant les sept premiers bits (inférieurs à 255) sont identiques à ceux du code ASCII. Les codes supérieurs à 255 sont spécifiques à une extension (caractères accentués, symboles des monnaies, pictogrammes..) . Il y a 16 extensions différentes possibles (leur numéro d’identification correspond au n de l’ISO 8859 n). L’ISO 8859-1 permet, par exemple, de traiter de tous les caractères utilisés en français

 

Néanmoins, les codes ISO 8859-n ne permettent pas d’écrire en Grec, en Russe, en Arabe, en chinois, en japonais, en thaï, en Khmer, en Bahasa (indonésien) etc…

 

La naissance d’UNICODE

 

Pour approcher une solution à ce problème UNICODE a entrepris une identification de tous les caractères et leur a affecté un numéro. Sachant que les premiers numéros correspondent à ceux de l’Ascii et de l’ISO 8859-1. Il y a à ce jour plus de 100 000 caractères identifiés.

 

Pour autant UNICODE est une référence mais pas un codage informatique.

 

Plusieurs codages des caractères Unicode existent :

 

  • UTF-32 qui code chaque caractère sur 32 bits (soit quatre octets)
  • UTF-16 qui code chaque caractère sur 16 ou 32 bits (soit deux ou quatre octets)
  • UTF-8 (le plus courant) qui code chaque caractère sur 8, 16, 24 ou 32 bits (soit un, deux, trois ou quatre octets).

 

Pour en savoir beaucoup plus on se reportera à l’article UNICODE de Wikipédia

 

En savoir plus sur la numération

En savoir +

La numération

La numération est la façon dont on représente un nombre.

Un nombre est une grandeur unique et indiscutable, mais la façon dont on va le représenter est variable.

Ainsi les régions administratives en France sont clairement identifiées :

Auvergne-Rhône-Alpes, Bourgogne-Franche-Comté, Bretagne, Centre-Val de Loire, Corse, Grand Est, Hauts-de-France, Île-de-France, Normandie, Nouvelle-Aquitaine, Occitanie, Pays de la Loire, Provence-Alpes-Côte d’Azur. Soit treize.

En représentation décimale que nous utilisons dans notre vie de tous les jours nous l’écrivons 13 (soit une dizaine (101) et 3 unités(100)).

Pour mémoire les romains auraient écrit XIII

Un ordinateur stockera ce nombre en binaire sous la forme 1101 soit une fois 8 (23), une fois quatre (22), zéro fois 2(21) et une fois un (20).

Et un programmeur habitué à parler en  hexadécimal le notera (car 10 correspond à seize (une fois 161et 0 unité et les chiffres entre 9 et seize sont représentés par les premières lettres de l’alphabet A = dix, B = onze, C = douze, D= treize, E = quatorze et F = quinze.

 

Fermer
Saisissez le numéro de l'œuvre
1
2
3
4
5
6
7
8
9
0
Accéder