Prenons l'alphabet courant `A`, `B`, `C`, ... `Z` et plaçons-le dans un tableau. Il est important de noter que chaque lettre de l'alphabet est associée à un indice spécifique dans le tableau.
Ces indices sont essentiels car ils forment la base de la représentation des caractères en machine. Chaque caractère est représenté par un nombre entier, ce qui signifie qu'il peut être représenté en binaire dans une machine.
En 1960, l'ISO (International Standards Organization) a introduit l'encodage ASCII (American Standard Code for Information Interchange). Dans l'ASCII, chaque caractère est associé à un nombre binaire sur 7 bits.
L'encodage ASCII est pratique pour la langue anglaise, mais il est insuffisant pour d'autres langues qui utilisent des caractères accentués, comme le français. C'est pourquoi d'autres encodages ont été développés.
L'encodage ISO-8859-1, également appelé "latin1", étend l'ASCII en utilisant 8 bits pour chaque point de code, ce qui permet de représenter 256 caractères différents.
Pour répondre aux besoins de représentation de tous les caractères de toutes les langues, l'Unicode a été créé. L'Unicode peut théoriquement représenter plus d'un million de caractères (1 114 112 pour être précis).
Le point de code Unicode ne donne que la correspondance entre un caractère et un nombre, mais ne dit pas comment ce nombre est représenté en binaire. C'est le travail d'un encodage comme l'UTF-8.
L'UTF-8 est un encodage à longueur variable. Cela signifie que chaque point de code Unicode peut être représenté par une séquence d'octets de longueur différente.
Ainsi, tous les caractères ASCII sont codés en un seul octet, ce qui permet de conserver la compatibilité avec l'ASCII. Les caractères couramment utilisés dans la plupart des langues européennes, dont le français, sont codés en deux octets. Les autres caractères, y compris les caractères de langues comme le chinois, le japonais, le coréen, etc., sont codés en trois ou quatre octets.
**Exemple pratique** : Supposons que nous voulions encoder le texte "Bonjour le monde!" en UTF-8. Pour chaque caractère, nous rechercherions son point de code Unicode, puis déterminerions combien d'octets sont nécessaires pour le représenter en UTF-8. Par exemple, le caractère 'B' a un point de code Unicode de 66, donc il serait encodé en un octet en UTF-8. Le caractère 'o' a un point de code Unicode de 111, donc il serait également encodé en un octet, et ainsi de suite pour tous les caractères du texte.
La représentation d'un texte en machine est un sujet complexe, mais essentiel pour la compréhension du fonctionnement des ordinateurs et du Web. En comprenant comment chaque caractère est représenté en binaire, vous pouvez mieux comprendre comment les ordinateurs traitent et stockent les informations.
<arel="license"href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><imgalt="Licence Creative Commons"style="border-width:0"src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"/></a><br/>Ce cours est mis à disposition selon les termes de la <arel="license"href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.