systèmes gérant spécifiquement leur langue.
Pour palier à ces inconvénients, il a fallu trouver un autre système de codage des caractères. L’arrivée des ordinateurs
avec une grande capacité mémoire et une gestion avancée de l’affichage des caractères permet de disposer de polices
de caractères (un fichier qui contient tous les dessins des caractères à destination de l’écran ou de l’imprimante) qui
peuvent contenir les alphabets de la plupart des langues. Par exemple dans la police Arial, on pourrait trouver les
caractères européens, mais aussi hébreux, arabes, chinois, japonais, et ainsi de suite. Mais comment représenter ces
milliers de caractères différents en mémoire ?
Une norme appelée Unicode, reconnue par la plupart des systèmes d’exploitation et des logiciels notamment sous Unix
et Windows, fait sauter cette limitation. Chaque caractère dispose d’un nom et d’un identifiant numérique, de manière
unifiée et quelque soit le système cible. C’estàdire que tout produit sachant interpréter les caractères unicode
affichera les chaînes de caractères écrites sous cette norme avec les bons caractères.
Un texte unicode en chinois s’affichera en chinois si votre traitement de texte gère l’unicode et dispose de la police de
caractères unicode contenant les idéogrammes chinois. Notez que vous n’avez pas à vous soucier de la manière dont
vous tapez le texte : le système d’exploitation et les logiciels le font à votre place : vous continuez à taper votre texte
comme vous l’avez toujours fait.
Unicode est une norme de représentation interne des caractères, et propose divers formats de stockage en mémoire.
Actuellement, unicode représente plus de 245000 chiffres, lettres, symboles, ponctuation, syllabes, règles de
représentation, etc. Il faut de la place pour représenter ceci. La méthode la plus courante, utilisée notamment par
défaut sous Linux, est l’UTF8, Universal Transformation Format. Son étude dépasse le cadre de ce livre et prendrait
plusieurs pages. Cependant, sachez que le modèle Unicode est un modèle en couches.
La première couche est le jeu de caractères abstrait, en fait une liste des caractères et leur nom précis. Par exemple le
"Ç" correspond à "Lettre majuscule latine c cédille".
La seconde est l’index numérique du caractère codé, appelé point de code, noté U+XXXX où XXXX est en hexadécimal.
Sans rentrer dans les détails, le "Ç" est représenté par le point de codage U+00C7. Il existe plusieurs niveaux ensuite.
Java utilise un codage des caractères sous forme Unicode sur 16 bits. Le premier octet en partant de la gauche
représente le jeu de caractère, le second le numéro de caractère dans ce jeu. C’est pourquoi le type caractère en Java
utilise deux octets, alors qu’il n’en utilise qu’un seul en C.
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
45
Pour palier à ces inconvénients, il a fallu trouver un autre système de codage des caractères. L’arrivée des ordinateurs
avec une grande capacité mémoire et une gestion avancée de l’affichage des caractères permet de disposer de polices
de caractères (un fichier qui contient tous les dessins des caractères à destination de l’écran ou de l’imprimante) qui
peuvent contenir les alphabets de la plupart des langues. Par exemple dans la police Arial, on pourrait trouver les
caractères européens, mais aussi hébreux, arabes, chinois, japonais, et ainsi de suite. Mais comment représenter ces
milliers de caractères différents en mémoire ?
Une norme appelée Unicode, reconnue par la plupart des systèmes d’exploitation et des logiciels notamment sous Unix
et Windows, fait sauter cette limitation. Chaque caractère dispose d’un nom et d’un identifiant numérique, de manière
unifiée et quelque soit le système cible. C’estàdire que tout produit sachant interpréter les caractères unicode
affichera les chaînes de caractères écrites sous cette norme avec les bons caractères.
Un texte unicode en chinois s’affichera en chinois si votre traitement de texte gère l’unicode et dispose de la police de
caractères unicode contenant les idéogrammes chinois. Notez que vous n’avez pas à vous soucier de la manière dont
vous tapez le texte : le système d’exploitation et les logiciels le font à votre place : vous continuez à taper votre texte
comme vous l’avez toujours fait.
Unicode est une norme de représentation interne des caractères, et propose divers formats de stockage en mémoire.
Actuellement, unicode représente plus de 245000 chiffres, lettres, symboles, ponctuation, syllabes, règles de
représentation, etc. Il faut de la place pour représenter ceci. La méthode la plus courante, utilisée notamment par
défaut sous Linux, est l’UTF8, Universal Transformation Format. Son étude dépasse le cadre de ce livre et prendrait
plusieurs pages. Cependant, sachez que le modèle Unicode est un modèle en couches.
La première couche est le jeu de caractères abstrait, en fait une liste des caractères et leur nom précis. Par exemple le
"Ç" correspond à "Lettre majuscule latine c cédille".
La seconde est l’index numérique du caractère codé, appelé point de code, noté U+XXXX où XXXX est en hexadécimal.
Sans rentrer dans les détails, le "Ç" est représenté par le point de codage U+00C7. Il existe plusieurs niveaux ensuite.
Java utilise un codage des caractères sous forme Unicode sur 16 bits. Le premier octet en partant de la gauche
représente le jeu de caractère, le second le numéro de caractère dans ce jeu. C’est pourquoi le type caractère en Java
utilise deux octets, alors qu’il n’en utilise qu’un seul en C.
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
45
