Notions sur les codages informatiques

Le codage

Le codage des caractères qui est une manière de représenter les caractères (lettres, chiffres, symboles) dans un système informatique. C’est donc la transformation d’un message exprimé en langage clair, suivant des conventions.

Son opération inverse est le décodage qui est la transformation d’un message codé en un langage clair. Le transcodage est le passage d’un système codé à un autre aussi codé suivant des conventions.

Le bit

Le terme bit (b minuscule dans les notations) signifie « binary digit », c’est-à-dire 0 ou 1 en numérotation binaire. Il s’agit de la plus petite unité d’information manipulable par une machine numérique.

L’octet, le mot et le mot double

L’octet (en anglais byte ou B majuscule dans les notations) est une unité d’information composée de 8 bits. Il permet par exemple de stocker un caractère comme une lettre ou un chiffre.

Une unité d’information composée de 16 bits est généralement appelée mot (en anglais word). Une unité d’information de 32 bits de longueur est appelée mot double (en anglais double word, d’où l’appellation dword).

Quelques codes

Parmi les différents codages utilisés, on trouve :

Le codage de source : qui permet de faire de la compression de données.

Le codage canal : qui permet une représentation des données de façon à être résistant aux erreurs de transmission.

Les codages de caractères pour représenter informatiquement l’ensemble des caractères, comme (par exemple le code ASCII, le code EBCDIC).

Nota : La transformation d’une source vidéo ou sonore en un format informatique déterminé. Coder en MP3, en AVI, etc. Dans ce cas, il ne s’agit en fait pas d’un codage, car il ne s’agit plus d’une opération mathématique bijective (réversible) ; malgré tout, l’expression encodage numérique est utilisée. Le passage d’un format audio ou vidéo à un autre peut aussi s’appeler transcodage.

Le code ASCII

Vers 1961, il y avait plus de 60 façons de représenter les caractères dans un ordinateur ce qui rendait difficile la transmission d’informations entre les ordinateurs.  En mai 1963, Robert William BEMER (dit Bob BEMER), responsable des standard de
programmation chez IBM, propose à l’ANSI (American National Standards Institute “Institut national de normalisation américain”) un code qui serait commun à l’ensemble des ordinateurs afin de faciliter la transmission des informations. Le code ASCII (American Standard Code for information Interchange) 7 bits est né (avec 27  caractères, soit 128 de 0 à 127).

Le code ASCII a été étendu à 8 bits pour coder des caractères des langues latines qui ne sont présentes dans la langue anglaise (exemple ã, é, è etc)

Le code EBCDIC

Le codage EBCDIC (Extended Binary-Coded Decimal Interchange Code) a été proposé par IBM vers 1965 au moment de la commercialisation de l’IBM 360. Il permet de coder des caractères sur 8 bits et respecte les conventions établies par HOLLERITH pour l’utilisation des cartes perforées.

Unicode

Le code Unicode est un système de codage des caractères sur 16 bits mis au point en 1991. Au lieu d’utiliser seulement les codes 0 à 127, il utilise des codes de valeur bien plus grandes. Le code UNICODE permet de représenter tous les caractères spécifiques aux différentes langues. De nouveaux codes sont régulièrement attribués pour de nouveaux caractères : caractères latins (accentués ou non), grecs, cyrillics, arméniens, hébreux, thaï, hiragana, katakana, chinois… .

Le DCB

Le décimal codé binaire (DCB) (binary coded decimal ou BCD en anglais), est un système de numération utilisé en électronique et en informatique pour coder des nombres en se rapprochant de la représentation humaine usuelle, en base 10. Dans ce format, les nombres sont représentés par les chiffres décimaux les composant, et chacun de ces chiffres est codé sur quatre bits.

Ainsi, pour coder un nombre tel que 127, il suffit de coder chacun des chiffres 1, 2 et 7 séparément, et l’on obtient la valeur 0001 0010 0111. De même pour le nombre 420, chacun des chiffres 4, 2 et 0 sont codés en binaire, ce qui donne 0100 0010 0000.

Retour en haut