Zoeken…


Opmerkingen

Een Unicode-codepunt, wat programmeurs vaak denken aan één teken, komt vaak overeen met wat de gebruiker denkt dat het één teken is. Soms bestaat een "karakter" echter uit meerdere codepunten, zoals de voorbeelden hierboven laten zien.

Dit betekent dat bewerkingen zoals het knippen van een string of het krijgen van een karakter bij een gegeven index mogelijk niet werken zoals verwacht. Bijvoorbeeld de 4e teken van de reeks "Café" is 'e' (zonder het accent). Op dezelfde manier zal het knippen van de string naar lengte 4 het accent verwijderen.

De technische term voor een dergelijke groep codepunten is een grapheme cluster . Zie UAX # 29: Unicode-tekstsegmentatie

diacritics

Een letter met een diakritisch teken kan worden weergegeven met de letter en een combinerende modificerende letter. Normaal gesproken beschouw je als één karakter, maar het zijn echt 2 codepunten:

  • U+0065 - LATIJNSE KLEINE BRIEF E
  • U+0301 - ACUTE ACCENT COMBINEREN

Evenzo = c + ¸ en = a + ˚

gecombineerde vormen

Om het nog ingewikkelder te maken, is er vaak ook een codepunt voor de samengestelde vorm:

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

Hoewel deze snaren er hetzelfde uitzien, zijn ze niet gelijk en hebben ze niet eens dezelfde lengte (respectievelijk 5 en 4).

Zalgo-tekst

Er is iets dat Zalgo-tekst heet en dit tot het uiterste drijft. Hier is het eerste grapheme-cluster van het voorbeeld. Het bestaat uit 15 codepunten: de Latijnse letter H en 14 combinatietekens.

H

Hoewel dit niet wordt weergegeven in normale tekst, laat het zien dat een "karakter" echt uit een willekeurig aantal codepunten kan bestaan

Emoji en vlaggen

Veel emoji bestaan uit meer dan één codepunt.

  • 🇯🇵: Een vlag wordt gedefinieerd als een paar "regionale symboolindicatoren" (🇯 + 🇵)
  • 🙋🏿: Sommige emoji kunnen worden gevolgd door een huidtint-modificator: 🙋 + 🏿
  • 😀︎ of 😀️: met Windows 10 kunt u opgeven of een emoji gekleurd of zwart / wit is door een variatieselector toe te voegen ( U+FE0E of U+FE0F )
  • 👨‍👩‍👧‍👦: een gezin. Gecodeerd door lid te worden van de emoji voor jongen, meisje, vrouw en man (👦, 👧, 👩, 👨) samen met nul-breedte schrijnwerkers ( U+200D ). Op platforms die dit ondersteunen, wordt dit weergegeven als een emoji van een gezin met twee kinderen.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow