Code ASCII
Code Standard américain pour l'échange d'information
Introduite en 1961 par Bob Bemer, cette norme définit 128 caractères numérotés de 0 à 127. Un caractère est ainsi codé sur 7 bits : à .
Table des caractères ASCII
|
|
|
|
- Observez la relation entre le code hexadécimal des caractères représentant les chiffres et le chiffre représenté.
- Observez l'ordre des lettres dans la table.
- Observez la relation entre le code d'une lettre majuscule et de la lettre minuscule correspondante.
ASCII étendu
Comme son nom l'indique, il s'agit d'une extension du standard ASCII : en ASCII étendu, les caractères ont un code de 8 bits, dont la valeur peut donc aller de 0 à 255.
- les codes compris entre 0 et 127 correspondent aux caractères définis par la norme ASCII.
- les codes compris entre 128 et 255 permettent de définir 128 caractères supplémentaires
Exemple : ISO-8859-1. Parmi les plus répandus, ce jeu de caractères étend l'ASCII par de nombreux caractères (notamment les caractères accentués) utilisés dans les pays d'Europe de l'Ouest. Une version mise à jour de ce jeu de caractères est ISO-8859-15, qui répare certains oublis comme le caractère œ, et ajoute des caractères "inventés" récemment comme le caractère €.
Unicode
Créé pour remplacer par une norme unique les nombreuses versions de l'ASCII étendu, l'Unicode va au delà de la simple association code-caractère, et définit, outre un jeu de caractères global (près de 250 000 caractères, incluant également symboles, idéogrammes...), de nombreuses propriétés pour chaque caractère. Il existe plusieurs implémentations informatiques (appelées transformations) de l'Unicode :
- UTF-8 : 1 à 4 octets sont utilisés pour représenter un caractère. Ce codage présente l'avantage d'être compatible avec l'ASCII (les 128 premiers caractères de l'UTF-8 sont codés sur un octet et correspondent aux 128 caractères ASCII), ce qui explique qu'il soit le plus répandu des trois UTF-x. Il est par contre peu pratique à utiliser dans un programme qui manipule de nombreuses chaînes de caractères, en raison de la taille très variable d'un caractère. Ainsi, pour connaître le nombre de caractères d'une chaîne, il est nécessaire d'en examiner les octets un à un afin de savoir s'il faut se déplacer de 1, 2, 3 ou 4 octets.
Nombre
d'octetsCode binaire UTF-8 Code hexadécimal
du 1er octetDescription 1 0xxxxxxx 0 - 7F caractères Unicode sur 7 bits (⇔ ASCII) 2 110xxxxx 10xxxxxx C0 - DF caractères Unicode sur 8 à 11 bits 3 1110xxxx 10xxxxxx 10xxxxxx E0 - EF caractères Unicode sur 12 à 16 bits 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx F0 - F7 caractères Unicode sur 17 à 21 bits
- dans une chaîne de caractère codée en UTF-8, un octet commençant par 0 est donc nécessairement un caractère issu du jeu de caractères ASCII.
- un octet commençant par 11 est le premier octet d'un caractère codé sur plusieurs octets. Le nombre de 1 correspond au nombre d'octets.
- un octet commençant par 10 est un octet faisant partie du code d'un caractère codé sur plusieurs octets.
- UTF-16 : 2 ou 4 octets sont utilisés pour représenter un caractère. Plus gourmand en espace que l'UTF-8 (pour les langues utilisant massivement les caractères ASCII), l'UTF-16 est cependant plus pratique à manipuler (les caractères et symboles Unicode les plus couramment utilisés sont codés sur 2 octets).
- UTF-32 : 4 octets sont utilisés pour représenter un caractère. Très coûteux en espace de stockage, c'est de loin le moins utilisé des trois.
Pour en savoir plus : Consortium Unicode
Exercices sur le code ASCII
Résolvez les exercices ci-dessous sans consulter la table des codes ASCII.Rappels :
- le code du caractère 0 est (30)16
- le code du caractère A est (41)16
- le code du caractère a est (61)16