Utilisateur:Agfline/Brouillon2
De façon générale un codage permet de passer d'une forme de représentation des données vers une autre.
Représenter l'information
modifierDans le domaine numérique, l'information est toujours représentée sous forme binaire (base 2), dont la plus petite unité est le bit. Un bit peut prendre deux valeurs, 1 ou 0. Lorsqu'on regroupe ensemble 8 bits, on obtient un octet. Un octet est capable de représenter 28 soit 256 valeurs. Lorsque l'on souhaite représenter une plus large quantité de valeurs, on regroupe ensemble plusieurs octets.
Bits | Octets | Quantité de valeurs | Appelation |
---|---|---|---|
8 | 1 | 256 | octet |
16 | 2 | 65 536 | mot |
32 | 4 | 4 294 967 296 | double mot |
64 | 8 | 18 446 744 073 709 551 616 | quadruple mot |
Aussi, généralement on préférera représenter les données binaires sous forme hexadécimal (base 16), bien plus facile à lire pour l'Homme.
1001101 en binaire équivaut à 4D en hexadécimal
Plusieurs méthodes de codage ont ainsi été développées pour permettre la représentation de n'importe quel type d'information (comme des nombres, du texte, des images, des sons, etc.) à partir de ces données binaires.
De manière générale, pour décoder une information binaire il faudra connaître au moins deux choses :
- La nature des données et le codage employé pour les représenter
Si 4D est un nombre entier, alors il vaut 77 en base 10.
Si 4D est une lettre codée en ASCII, alors il s'agit de la lettre M.
- L'endianness employé pour représenter les données.
Codage de caractères
modifierIl existe de très nombreux standards de codage pour la représentation des caractères. Globalement, la méthode employée consiste à faire correspondre via une table d'association arbitraire, des codes binaires avec un jeu de caractères.
- L'ASCII, avec la prise en charge des caractères latins et anglais sur 7 bits, soit 128 caractères dont 33 caractères de contrôle.
- L'ISO/CEI 8859-1 étend le jeu de caractères ASCII en codant sur un octet (8 bits) et ajoute de nombreux caractères manquant comme les accent et cédilles.
- L'UTF-8 pour Unicode Transformation Format, permet de faire correspondre une suite variable d'octets allant de 1 à 4, à la table de caractères Unicode. Le codage UTF-8 est rétro compatible avec l'ASCII, c'est à dire qu'un texte codé en ASCII sera aisément décodé avec UTF-8.
Codage des nombres
modifier- Binaire naturel
- Binaire réfléchi (code de gray)
- Complément à un
- Complément à deux
- Magnitude signé
- Décimal codé binaire (DCB)
- Virgule fixe
- Virgule flottante
Transmission et stockage
modifierCodage de source
modifierOn appelle codage de source le fait de compresser des données en vue de réduire la taille d'un flux, permettant ainsi d'économiser de l'espace de stockage ou bien de diminuer un temps de transfert. Cette opération s’effectue au prix d'un processus de compression en entrée et de décompression en sortie, processus qui consomme plus ou moins de temps et de ressources.
Une compression peut être avec ou sans perte (lossy / lossless).
- Un algorithme de compression sans perte restitue au moment du décodage (décompression) une suite de bits strictement identique à l'originale. Ce type de compression est généralement employé par les fichiers d'archive, fichiers exécutables, fichier textes, certains codec audio / vidéo pour la production ou l'archivage, et par certains protocoles de transfert comme le http.
- Un algorithme de compression avec perte admet la perte d'une partie des données initiales, permettant ainsi d'atteindre des taux de compression beaucoup plus élevés. Ce type de compression est employé par la majorité des codec audio, vidéo et image.