Unicode n'est pas un mécanisme de codage des caractères, c'est juste une norme qui attribue une valeur numérique (non bornée) à un symbole.
L'UTF-8, UTF-16 dont des mécanismes qui utilisent un codage des caractères unicode de taille variable comme cela a été dit.
Pour un programme, avoir une taille variable n'est vraiment pas pratique, il faut parcourir la chaine depuis le début pour interpréter les octets et retrouver les caractères. Les logiciels utilisent plutot une représentation en taille fixe.
La représentation en taille fixe la plus connue est ASCII, dont est dérivée toute la série des iso-8859-x célèbre, mais qui limitent toujours à 2^7 (127) les caractères en dehors de l'ASCII.
Pour représenter plus de caractère, les deux normes les plus utilisées sont
* UCS2 qui code les caractères sur 2 octets, cette norme ne permet d'utiliser que les caractères unicode dont le code est inférieur à 2^16
* UCS4 qui code les caractères sur 4 octets, limitant cette fois-ci les symboles aux 2^32 premiers. Comme il n'y a pour l'instant aucun caractères unicode au dela, cette norme est pour l'instant exhaustive.
UCS2 est la norme qui dont être utilisée en interne par Java.
[^] # Re: Codage des caractères ?
Posté par Sébastien Koechlin . En réponse à la dépêche Appel à commentaires sur le référentiel général d'interopérabilité. Évalué à 6.
Unicode n'est pas un mécanisme de codage des caractères, c'est juste une norme qui attribue une valeur numérique (non bornée) à un symbole.
L'UTF-8, UTF-16 dont des mécanismes qui utilisent un codage des caractères unicode de taille variable comme cela a été dit.
Pour un programme, avoir une taille variable n'est vraiment pas pratique, il faut parcourir la chaine depuis le début pour interpréter les octets et retrouver les caractères. Les logiciels utilisent plutot une représentation en taille fixe.
La représentation en taille fixe la plus connue est ASCII, dont est dérivée toute la série des iso-8859-x célèbre, mais qui limitent toujours à 2^7 (127) les caractères en dehors de l'ASCII.
Pour représenter plus de caractère, les deux normes les plus utilisées sont
* UCS2 qui code les caractères sur 2 octets, cette norme ne permet d'utiliser que les caractères unicode dont le code est inférieur à 2^16
* UCS4 qui code les caractères sur 4 octets, limitant cette fois-ci les symboles aux 2^32 premiers. Comme il n'y a pour l'instant aucun caractères unicode au dela, cette norme est pour l'instant exhaustive.
UCS2 est la norme qui dont être utilisée en interne par Java.