unicode
I caratteri possono essere costituiti da più punti di codice
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
oU+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.