Recherche…


Remarques

Un point de code Unicode, que les programmeurs pensent souvent d'un seul caractère, correspond souvent à ce que l'utilisateur pense être un caractère. Parfois, un «caractère» est constitué de plusieurs points de code, comme le montrent les exemples ci-dessus.

Cela signifie que les opérations telles que le découpage d'une chaîne ou l'obtention d'un caractère à un index donné risquent de ne pas fonctionner comme prévu. Par exemple , le 4 ème caractère de la chaîne "Café" est 'e' (sans l'accent). De même, en coupant la chaîne à la longueur 4, vous supprimerez l’accent.

Le terme technique pour un tel groupe de points de code est un cluster grapheme . Voir UAX n ° 29: segmentation de texte Unicode

Diacritiques

Une lettre avec un signe diacritique peut être représentée avec la lettre et une lettre de modification combinée. Vous considérez normalement comme un seul personnage, mais c'est vraiment 2 points de code:

  • U+0065 - LETTRE MINUSCULE LATINE E
  • U+0301 - COMBINER UN ACCENT AIGU

De même = c + ¸ et = a + ˚

formes combinées

Pour compliquer les choses, il existe souvent un point de code pour la forme composée:

"Café" = 'C' + 'a' + 'f' + 'e' + '´'
"Café" = 'C' + 'a' + 'f' + 'é'

Bien que ces chaînes se ressemblent, elles ne sont pas égales et elles n'ont même pas la même longueur (respectivement 5 et 4).

Texte Zalgo

Il y a cette chose appelée Zalgo Text qui pousse à l'extrême. Voici le premier groupe de graphèmes de l'exemple. Il se compose de 15 points de code: la lettre latine H et 14 points de combinaison.

H̡̫̤̤̣͉̤ͭ̓̓̇͗̎̀

Bien que cela n'apparaisse pas dans le texte normal, cela montre qu'un «caractère» peut vraiment être constitué d'un nombre arbitraire de points de code.

Emoji et drapeaux

Beaucoup d'emoji sont constitués de plusieurs points de code.

  • Flag: Un drapeau est défini comme une paire de "lettres indicatrices de symboles régionaux" (🇯 + 🇵)
  • Some: Certains emoji peuvent être suivis par un modificateur de tonalité de peau: 🙋 + 🏿
  • 😀︎ ou 😀️: Windows 10 vous permet de spécifier si un emoji est coloré ou noir / blanc en ajoutant un sélecteur de variation ( U+FE0E ou U+FE0F )
  • Family: une famille. Encodé en joignant les emoji pour garçon, fille, femme et homme (👦, 👧, 👩, 👨) ainsi que les menuisiers à largeur nulle ( U+200D ). Sur les plateformes qui le supportent, ceci est rendu comme un emoji d'une famille avec deux enfants.


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow