Ricerca…


Osservazioni

Un punto di codice Unicode, quello che i programmatori spesso pensano di un personaggio, spesso corrisponde a quello che l'utente pensa sia un personaggio. A volte tuttavia un "carattere" è costituito da più punti di codice, come mostrano gli esempi sopra.

Ciò significa che operazioni come tagliare una stringa o ottenere un carattere in un determinato indice potrebbero non funzionare come previsto. Ad esempio il 4 ° carattere della stringa "Café" è 'e' (senza l'accento). Allo stesso modo, tagliando la corda alla lunghezza 4 si rimuoverà l'accento.

Il termine tecnico per un tale gruppo di punti di codice è un grafo grapheme . Vedi UAX # 29: Segmentazione del testo Unicode

segni diacritici

Una lettera con un segno diacritico può essere rappresentata con la lettera e una lettera di modifica combinatoria. Normalmente pensi ad come a un personaggio, ma in realtà sono 2 punti di codice:

  • U+0065 - LETINA PICCOLA LETTERA E
  • U+0301 - COMBINAZIONE ACCENTO ACUTA

Allo stesso modo = c + ¸ , e = a + ˚

forme combinate

Per complicare le cose, c'è spesso anche un punto di codice per la forma composta:

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

Sebbene queste stringhe siano uguali, non sono uguali e non hanno nemmeno la stessa lunghezza (5 e 4 rispettivamente).

Zalgo Text

C'è questa cosa chiamata Zalgo Text che lo spinge all'estremo. Ecco il primo grafo grapheme dell'esempio. Consiste di 15 punti di codice: la lettera latina H e 14 segni combinati.

h

Sebbene ciò non compaia nel testo normale, mostra che un "carattere" può realmente consistere in un numero arbitrario di punti di codice

Emoji e bandiere

Un sacco di emoji consistono in più di un punto di codice.

  • 🇯🇵: Un flag è definito come una coppia di "lettere indicatrici di simboli regionali" (🇯 + 🇵)
  • 🙋🏿: Alcune emoji possono essere seguite da un modificatore del tono della pelle: 🙋 + 🏿
  • 😀︎ o 😀️: Windows 10 consente di specificare se un'emoji è colorata o nero / bianco aggiungendo un selettore di variazione ( U+FE0E o U+FE0F )
  • 👨👩👧👦: una famiglia. È stato codificato unendo le emoji a ragazzo, ragazza, donna e uomo (👦, 👧, 👩, 👨) insieme a joiners a larghezza zero ( U+200D ). Sulle piattaforme che lo supportano, questo è reso come un'emoji di una famiglia con due bambini.


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow