Encodage

Eric Obermeyer – Actualisation: septembre 2014

 

I) Encodage et décodage informatique. 1

II) Présentation rapide des normes classiques d’encodage du texte. 1

1) Unicode. 1

2) ASCII 1

3) Latin-1. 2

4) Windows-1252, ou encore ANSI 2

5) UTF8. 2

III) Présentation rapide de quelques formats classiques d’encodage d'images. 2

1) Le format jpeg (ou jpg) 2

2) Le format png. 2

3) Le format bmp. 2

I) Encodage et décodage informatique

Encoder ou décoder des données consiste à les transcrire d'un format donné vers un autre format. Ces formats doivent être compatibles avec le type des données.

On utilise de préférence le terme encoder lorsqu'on transcrit des données compréhensibles par un homme (un texte, une image par exemple) vers un format numérique  et le terme décoder pour l'opération inverse.

Par exemple les formats DivX, MPEG2 ou AVI sont des formats vidéos, les formats BITMAP ou JPEG sont des formats images, les formats UTF-8 ou Latin-1 sont des formats textes.

II) Présentation rapide des normes classiques d’encodage du texte

 1) Unicode

   Unicode est un standard informatique qui permet des échanges de textes dans différentes langues, à un niveau mondial. Elle est développée par le Consortium Unicode, qui vise à permettre le codage de texte écrit en donnant à tout caractère de n’importe quel système d’écriture un nom et un identifiant numérique appelé point de code, de la forme U+xxxxx ou xxxxx est un nombre hexadécimal.

 

Le code Unicode de chaque caractère est un simple identifiant. Il est totalement indépendant de son codage logiciel (sous forme d’octets) qui reste à discrétion des plateformes, et des logiciels. Unicode n'est pas une norme de codage informatique,  contrairement à ce que suggère son nom. Unicode n’est que descriptif.

 

  Le standard Unicode est constitué d’un répertoire de plus de 109 000 caractères couvrant 93 écritures, d’un ensemble de tableaux de codes pour référence visuelle, d’une méthode de codage et de plusieurs codages de caractères standard, d’une énumération des propriétés de caractère (lettres majuscules, minuscules, symboles, ponctuation, etc.) d’un ensemble de fichiers de référence des données informatiques, et d’un certain nombre d’éléments liés, tels que des règles de normalisation, de décomposition, de tri, de rendu et d’ordre d’affichage bidirectionnel.

    Voir la suite sur Wikipédia

2) ASCII

 ASCII (American Standard Code for Information Interchange) est une norme ancienne et très répandue, qui contient les caractères nécessaires pour écrire en anglais. L’ASCII définit seulement 128 caractères numérotés de 0 à 127. Les 32 premiers entiers (de 0 à 31) sont réservés pour des commandes systèmes et ne sont pas utilisables pour le texte. Les caractères usuels utilisés en anglais (donc sans les accents) occupent les places de 32 à 127.

Voir Wikipédia pour plus d'informations.

3) Latin-1

  Le codage Latin-1 (nommé aussi codage ISO-8859-1, et parfois incorrectement ANSI),  est une norme de codage sur 8 bits des caractères. Chaque caractère est représenté par un entier de 0 à 256. Elle reprend pour les caractères 0 à 127 les caractères ASCII. Les caractères spéciaux (en particulier tous les caractères accentués du français, la fameuse cédille et bien d’autres...) occupent les places de 128 à 255. Il y manque par exemple le œ.

  Cette norme a été et est encore très employée en Europe occidentale, mais commence à régresser devant l’utilisation d’Unicode.  Voir Wikipédia

 4) Windows-1252, ou encore ANSI

Windows utilise dans ses OS vendus en Europe la norme d’encodage  Windows-1252, qu’il appelle  ANSI, et qui est proche de la norme Latin-1. Cette norme ANSI, qui code les caractères sur un octet, permet d'écrire tout ce que l'on veut en français, mais ne permet pas d'écrire des mathématiques, comme le symbole ∑ par exemple.

 Voir éventuellement Wikipédia

 5) UTF8

  UTF-8 (UCS transformation format 8 bits) est un codage de caractères informatique conçu pour coder l’ensemble des caractères internationaux d’Unicode en restant compatible avec la norme ASCII (un texte encodé en ASCII et décodé comme un texte UTF8 sera lu correctement), très largement répandue depuis des décennies. Les caractères sortant du jeu ASCII sont codés sur 2 à 4 octets.   Son usage est de plus en plus fréquent sur l’internet.

La description de la norme UTF8 est plus simple que celle d’Unicode, mais pas facile quand même à saisir.

Voir éventuellement la suite sur Wikipédia.

III) Présentation rapide de quelques formats classiques d’encodage d'images

1) Le format jpeg (ou jpg)

Le format JPEG (pour Joint Photographic Experts Group) est un format libre extrêmement utilisé d'encodage d'image. Datant du début des années 1980, c'est un format de compression irréversible (une fois enregistrée au format jpeg, on ne peut reconstituer l'image originale).

La description de la procédure d'encodage, qui utilise des outils mathématiques sophistiqués, est très compliquée.

Voir Wikipédia

2) Le format png

Le format PNG (pour Portable Network Graphics ) est un format libre d'encodage d'image né à la fin des années 1990. Très utilisé sur le web, permettant de gérer la transparence, c'est un format  de compression réversible (une fois enregistrée au format png, on  peut reconstituer l'image originale).

Voir Wikipédia.

3) Le format bmp

Bitmap, connu aussi sous son abréviation BMP, est un format libre développé par Microsoft et IBM.  C'est un format très simple: les pixels (les points) de l'image sont bien "rangés" dans un tableau rectangulaire d'octets dans le fichier.

Suivant le type de bitmap, chaque point de l'image peut être codé sur une plage allant de 1 bit (pour une image en noir et blanc) à 24 bits pour une image 16 millions de couleurs.

Un fichier bitmap est constitué de trois parties:

·       l'entête, donnant des informations sur le type de bitmap, sa taille, le début du rangement des données de l'image.

·       La palette de couleurs, nécessaire pour les bitmaps codés sur moins de 24 bits

·       Les données de l'image, rangées ligne par ligne du bas de l'image vers le haut.

 

Voir Wikipédia pour un peu plus de détails ou Wikipédia en anglais pour beaucoup plus de détails.