Unicode
Unicode est la norme internationale de codage de caractères qui attribue un point de code unique (U+0000 à U+10FFFF) à chaque caractère de la quasi-totalité des écritures du monde, avec un espace de 1 114 112 points.
Objectif
Remplacer les encodages régionaux fragmentés par un jeu de caractères unique couvrant les écritures du monde entier, éliminant le mojibake et la charge de transcodage.
Mécanisme
Les points de code s'écrivent U+XXXX et se répartissent en 17 plans. Les points doivent passer par une forme d'encodage (UTF-8/16/32) pour devenir des octets. Les caractères peuvent porter des signes combinants, donc un même caractère visuel peut correspondre à plusieurs séquences de points (normalisation NFC/NFD requise).
Cas d’usage
- Contenu web multilingue et stockage en base de données
- Internationalisation (i18n) et localisation (l10n)
- Rendu des émojis et symboles
- Échange de texte inter-plateformes
Exemples
- entrée
éOutputU+00E9The code point of é (Latin small letter e with acute)
Erreurs courantes
- Truncating a string by character count and splitting a surrogate pair
- Use surrogate-pair-aware APIs such as Intl.Segmenter