Comprendre les encodages

ASCII, latin-1, Unicode, UTF-8… quésaco ?

Vos jolies lettres accentuées cèdent la place à d’affreux é et � ?

Webmestre, vous recopiez au début de vos pages HTML une ligne

1
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

sans comprendre ?

Vous avez déjà croisé des mots comme charset, encodage, ASCII, UTF-8, ISO-8859, latin-1… et vous vous demandez ce que sont ces bestioles ?

Vous êtes curieux de savoir comment un ordinateur code du texte ?

Ce cours est pour vous. On va tout expliquer en douceur.

Martine écrit en UTF-8

La théorie : le texte en informatique

  1. Concepts

L’épopée des encodages

  1. Au commencement était l’ASCII
  2. La révolte gronde
  3. Unicode, la solution ultime
  4. Et aujourd’hui ?

En pratique : jongler avec les encodages

  1. Lire & écrire avec le bon encodage
  2. Déclarer l’encodage
  3. Programmer


J’espère que ce tutoriel aura aidé certains à comprendre ce qui se passe et à ne plus avoir peur des « caractères spéciaux »…

Il n’y a rien de sorcier et tout programmeur (voire tout informaticien) devrait connaître ça pour ne pas faire n’importe quoi.

Liens

Quelques autres documents sur le sujet :

Ensuite, Wikipédia est très bien fournie sur le thème (ne pas hésiter à lire les articles anglais qui sont souvent plus complets). On peut par exemple consulter cet article général, celui-ci pour apprendre comment fonctionne UTF-8, ou ce comparatif des encodages d’Unicode (en anglais). Elle contient les tables de codes de tous les jeux utiles, par exemples : ASCII, CP850, latin-1, et même le JUC qui y est plutôt bien organisé.

On peut aussi trouver les tables du JUC ici, avec des glyphes informatifs et les noms officiels des caractères en français (car la norme ISO 10646 est publiée conjointement en anglais et en français). Toutefois, cette page n’a plus été mise à jour depuis 2007 (Unicode version 5.0) ; la dernière version peut être trouvée en anglais (mais les ajouts sont peu susceptibles de vous intéresser).

Enfin, un outil pratique pour calculer l’UTF-8.

Ces contenus pourraient vous intéresser

7 commentaires

Sympa, comme sujet. Juste pour signaler que le tableau qui parle de C dans le dernier chapitre mentionne int16_t d'un côté et char16_t de l'autre ; ça devrait pas être char16_t partout ? (Pareil pour char32_t.)

Sinon, les encodages des langues asiatiques, c'est un vrai bordel, ça mériterait probablement un tuto à part… rien que sur les aspects historiques. :' Ce serait peut-être bien, ceci dit, de mentionner que d'une part l'ISO-2022 n'a jamais vraiment été utilisé que dans des variantes locales sous la forme des EUC (comme tu le dis vaguement à la fin) ; que d'autre part, EUC c'est surtout aujourd'hui connu comme un encodage Unix et il y a eu beaucoup d'autres codages pas du tout compatibles, comme Shift-JIS pour le japonais sous Windows, ou Big5 pour le chinois. Je dis ça parce que si l'on cherche des infos sur les codages pour les alphabets asiatiques, on ne trouve pas grand chose d'utile en cherchant ISO-2022 ; mêmes les EUC sont rarement référencés sous le nom ISO-2022. Enfin, je trouve ça très intéressant, personnellement, mais c'est pas forcément utile dans un tuto généraliste sur les encodages. :D

Juste pour signaler que le tableau qui parle de C dans le dernier chapitre mentionne int16_t d'un côté et char16_t de l'autre ; ça devrait pas être char16_t partout ? (Pareil pour char32_t.)

ah oui, merci !


Sinon, les encodages des langues asiatiques, c'est un vrai bordel, ça mériterait probablement un tuto à part… rien que sur les aspects historiques. :' […] Enfin, je trouve ça très intéressant, personnellement, mais c'est pas forcément utile dans un tuto généraliste sur les encodages. :D

rz0

oui, j’avoue avoir été saisi d’une flemme immense dans la section sur l’Asie… je connais moins le sujet, mais j’essaierai de préciser un peu pour la prochaine mise à jour (évoquer GB 18030 parait assez important par exemple).

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte