Il seguente esempio è preso dal Strings and Characters documentation:Come convertire coppia di surrogati Unicode scalare Swift
I valori 55357
(U+D83D
in esadecimale) e 56374
(U+DC36
in esadecimale) sono le coppie di surrogati che formano lo scalare Unicode U+1F436
, che è il carattere DOG FACE
. C'è un modo per andare nella direzione opposta? Cioè, posso convertire una coppia surrogata in uno scalare?
ho cercato
let myChar: Character = "\u{D83D}\u{DC36}"
ma ho ottenuto un errore "non valido Unicode scalare".
This Objective C answer e this project sembrano soluzioni personalizzate, ma c'è qualcosa incorporato in Swift (specialmente Swift 2.0+) che lo fa?
Specificare direttamente il punto di codice: '\ U {} 1F436'. C'è un esempio nel documento che si collega a 'let sparklingHeart =" \ u {1F496} "//, scalare Unicode U + 1F496' – nhahtdh
Cosa succede se non conosco il punto di codice completo? Cioè, cosa succede se conosco solo le coppie surrogate? – Suragch
'String' ha un metodo' init? (_ Utf16: String.UTF16View) ', ma non ho ancora trovato come * creare * un' String.UTF16View' da un dato array. - Una domanda simile (con possibili soluzioni) è qui: [C'è un modo per creare una stringa dall'array utf16 in swift?] (Http://stackoverflow.com/questions/24542170/is-there-a-way-to -create-a-stringa-da-utf16-array-in-veloce). –