Introduction rapide à Unicode

De Guide utilisateur des messages comptables UN/XML

Les documents XML sont écrits en Unicode. Unicode est lui aussi une norme internationale qui définit un large jeu de caractère. En pratique il supporte les caractères accentués mais également d’autres alphabets comme l’alphabet Grec, Cyrillique ou le Japonais.

Aujourd’hui Unicode est parfaitement supporté par les environnements de développement et les bases de données les plus courantes.

Il convient de séparer la norme Unicode de ses encodages. En pratique Unicode s’écrit soit avec un encodage à longueur variable (en UTF-8 et en UTF-16, le nombre d’octets varie selon le caractère à représenter) ou soit à longueur fixe (UTF-32, chaque caractère est encodé sur 4 octets). XML permet également d’utiliser des encodages plus limités comme l’ISO-8859-1 mieux connu comme Latin-1, soit le jeu de caractère par défaut sous Windows.

En pratique on déclare l’encodage choisi dans la première ligne du fichier XML (cette déclaration est optionnelle pour l’UTF-8 et l’UTF-16) :

<?xml version="1.0" encoding="UTF-8"?>

ou encore

<?xml version="1.0" encoding="ISO-8859-1"?>

Toutefois l’encodage retenu ne limite en rien le support d’Unicode grâce à la magie des entités caractères. Tout comme en HTML, il est possible d’invoquer n’importe quel caractère Unicode en l’échappant comme suit :

&#238; ou &#x4E13;

où les caractère Unicode 238 et 19987 (4E13 en hexadécimal) représente respectivement “î” et “专”

Cela a deux conséquences :

  • il est essentiel, quand vous manipulez un fichier XML de respecter l’encodage des caractères
  • vos applications doivent être capable de reconnaître et traiter tous les caractères Unicode, y compris pour des langues que vous n’utilisez pas. Au minimum, il convient de signaler une erreur

Retour au sommaire