Sök…


Anmärkningar

En Unicode-kodpunkt, vad programmerare ofta tycker om ett tecken, motsvarar ofta vad användaren tycker är ett tecken. Ibland består emellertid ett "tecken" av flera kodpunkter, som exemplen ovan visar.

Detta innebär att operationer som att skära en sträng eller få ett tecken vid ett givet index kanske inte fungerar som förväntat. Till exempel är den 4: e karaktären i strängen "Café" 'e' (utan accenten). På liknande sätt tar man bort accenten genom att klippa strängen till längd 4.

Den tekniska termen för en sådan grupp kodpunkter är ett grafeme-kluster . Se UAX # 29: Unicode Text Segmentation

diakritiska tecken

En bokstav med diakrit kan representeras med bokstaven och en kombinerande modifieringsbokstav. Du tänker normalt på som en karaktär, men det är verkligen två kodpunkter:

  • U+0065 - LATIN SMALL LETTER E
  • U+0301 - KOMBINERA AKUT ACCENT

På liknande sätt = c + ¸ , och = a + ˚

kombinerade former

För att komplicera frågor finns det ofta en kodpunkt för den sammansatta formen:

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

Även om dessa strängar ser lika ut är de inte lika, och de har inte ens samma längd (5 respektive 4).

Zalgo Text

Det finns den här saken som heter Zalgo Text som driver detta till det yttersta. Här är det första grafeme-klustret i exemplet. Den består av 15 kodpunkter: den latinska bokstaven H och 14 kombinerande märken.

H

Även om detta inte visas i vanlig text, visar det att ett "tecken" verkligen kan bestå av ett godtyckligt antal kodpunkter

Emoji och flaggor

Många emoji består av mer än en kodpunkt.

  • 🇯🇵: En flagga definieras som ett par "regionala symbolindikatorbokstäver" (🇯 + 🇵)
  • 🙋🏿: Vissa emoji kan följas av en hudtonmodifierare: 🙋 + 🏿
  • 😀︎ eller 😀️: Windows 10 låter dig ange om en emoji är färgad eller svart / vit genom att lägga till en variationsväljare ( U+FE0E eller U+FE0F )
  • 👨‍👩‍👧‍👦: en familj. Kodas genom att gå med i emojierna för pojke, flicka, kvinna och man (👦, 👧, 👩, 👨) tillsammans med nollbreddskopplingar ( U+200D ). På plattformar som stöder det återges detta som en emoji från en familj med två barn.


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow