Introduction à XML
Unicode
Dernière modification : 2002/09/10 16:04:35 Contact : Martin Sévigny
Unicode est un standard définissant un jeu de caractères. Sans entrer dans les détails, mentionnons que l'Unicode de base permet le codage des caractères sur 2 octets, soit plus de 65 000 caractères différents. En plus des techniques de codage, Unicode définit un jeu de caractères qui en compte plusieurs dizaines de milliers (la version actuelle d'Unicode est la 3.2 et elle définit plus de 95 000 caractères). Tous les caractères des langues vivantes s'y retrouvent, de même que certaines langues mortes et des symboles.
Unicode ne règle pas tous les problèmes de multilinguisme, mais il constitue la meilleure solution que l'on connaisse actuellement.
Pour en savoir plus sur Unicode, voici quelques sites à consulter:
Le site Web du consortium Unicode, où vous trouverez les tableaux de caractères et beaucoup d'informations techniques sur la norme.
Un site Web en français, Écritures du monde, réalisé par Michel Bottin et ses collaborateurs au ministère de la culture et de la communication. Ce site présente les différents systèmes d'écriture dans le monde et constitue un bel exemple de l'utilisation d'Unicode sur le Web.
Le site Alan Wood's Unicode Resources, en anglais, mais qui constitue un inépuisable réservoir d'information à propos d'Unicode. Sont particulièrement utiles les exemples de caractères, les informations sur le support logiciel et sur les polices.
Un endroit pour télécharger la police Bitstream CybertBit, qui comporte plusieurs milliers de caractères. Les verions 2000 et XP de la suite Office de Microsoft incluent également la police Arial Unicode MS, 50 377 caractères, soit tout Unicode 2.1.
Pour Windows, une extension au gestionnaire de fichiers pour obtenir des informations détaillées sur des polices de caractères.
Unicode et XML
Par défaut, les documents XML sont des documents texte dont le jeu de caractères est l'Unicode. En quelque sorte, il y a un seul jeu de caractères standard pour l'XML, et ce jeu de caractères est le plus important que l'on connaisse. D'autres jeux de caractères (comme l'ISO Latin 1) peuvent être utilisés, mais une application XML n'est pas obligée de les supporter, et donc de les traiter correctement.
Cette intime association entre Unicode et XML fait en sorte que les systèmes d'information basés sur XML peuvent gérer (en théorie) des documents ou des informations de toutes les langues, y compris dans les mêmes documents.
La question de l'encodage
Il existe plusieurs façons d'encoder des caractères Unicode dans des fichiers informatiques, on parlera de différents encodages.
L'encodage nommé UTF-8 consiste à encoder les caractères ASCII sur un octet, puis les autres caractères sur 2, 3, ou 4 octets, sans ambiguïté. Il s'agit d'un encodage intéressant pour le français, car la plupart des caractèrés pourront s'écrire sur un seul octet (les lettres non accentuées), alors que les autres sont définis de telle sorte qu'en UTF-8 ils sont codés sur deux octets seulement.
L'encodage nommé UTF-16 consiste à représenter tous les caractères sur deux octets. Cet encodage est plus efficace pour des documents en langues asiatiques par exemple, mais inefficace pour des documents en langues européennes.
Les entités caractères en XML
Dans un fichier XML, les caractères peuvent être directement encodés en Unicode, et normalement les outils le font automatiquement. Toutefois, il est possible d'inscrire tout caractère Unicode à l'aide des entités caractères, qui prennent la forme suivante :
丵
Dans ce cas, il s'agit du caractère qui occupe la position 4E35 en base hexadécimale (20 021 en base décimale) dans le jeu de caractères Unicode. Il s'agit de ce caractère : . Par ailleurs, on peut aussi utiliser cette technique :
丵
Il s'agit exactement du même caractère, mais cette fois indiqué en base décimale. C'est le 'x' qui suit le '#' qui indique la base hexadécimale.
Les limites d'Unicode
Le standard Unicode est intéressant, mais le problème réside dans le support Unicode que l'on trouve dans les systèmes d'exploitation, logiciels et polices.
Au niveau des systèmes d'exploitation, les versions récentes de Windows supportent Unicode, de même que plusieurs logiciels récents, dont la suite Office. Sur MacOS, Unicode est supporté depuis la version 8.5 et bien sûr en OS-X. Les systèmes UNIX/Linux récents supportent en général très bien Unicode.
| Document précédent : Introduction |
Table des matières | Document suivant : Le prologue |