Point de code

Un article de Wikipédia, l'encyclopédie libre.

Dans la terminologie de codage des caractères, un point de code est toute valeur numérique qui compose l'espace de codage. De nombreux points de code représentent de simples caractères mais ils peuvent aussi avoir d'autres significations, comme pour le formatage.

Par exemple, le jeu de caractères codés ASCII comprend 128 points de code dans l'intervalle 0hex à 7Fhex, l'ASCII étendu comprend 256 points de code dans l'intervalle 0hex à FFhex, et Unicode comprend 1 114 112 points de code dans l'intervalle 0hex à 10FFFFhex. L'espace de codage Unicode est divisé en dix-sept plans (plan multilingue de base, et 16 plans supplémentaires), chacun avec 65 536 (= 216) points de code. Ainsi, la taille totale de l'espace de codage Unicode est 17 × 65 536 = 1 114 112.

Définition[modifier | modifier le code]

La notion de point de code est utilisée pour l'abstraction, pour distinguer à la fois :

  • son numéro, de son encodage comme séquence de bits, et
  • son caractère abstrait, d'une représentation graphique particulière (glyphe).

Cette abstraction permet ainsi :

  • d'encoder un même espace de codage de différentes façons, ou
  • d'afficher un même caractère en utilisant des glyphes différents.

Pour Unicode, la séquence particulière des bits est appelée une code unit – pour le jeu de caractères codés UCS-4, les points de code sont toujours encodés avec des nombres binaires de toujours 4 octets, alors que pour UTF-8, les points de code sont encodés avec des séquences variables de 1 à 4 octets. Pour plus d'information, voir UTF. Les points de code sont assignés à des caractères abstraits. Un caractère abstrait n'est pas un glyphe graphique mais une unité de donnée textuelle. Cependant, les points de code peuvent aussi ne pas être tous utilisés, et réservés pour des utilisations futures (la majorité de l'espace de code Unicode n'est pas utilisé), ou affectés à d'autres utilisations.

La distinction entre un point de code et le caractère abstrait correspondant n'est pas prononcée en Unicode, mais est évidente pour d'autres jeux de caractères codés, où de nombreuses pages de code peuvent exister pour un seul espace de codage.