Poniższy przykład jest z Strings and Characters documentation:Jak konwersji zastępczego pary do skalarnej unikodowymi Swift
Wartości 55357
(U+D83D
w heksanie) i 56374
(U+DC36
w heksanie) są zastępcze pary które tworzą skalar Unicode U+1F436
, który jest znakiem DOG FACE
. Czy istnieje jakiś sposób, aby iść w przeciwnym kierunku? To znaczy, czy mogę przekonwertować zastępczą parę na skalar?
Próbowałem
let myChar: Character = "\u{D83D}\u{DC36}"
ale dostałem "Nieprawidłowy skalarne Unicode" błąd.
This Objective C answer i this project wydają się być rozwiązaniami niestandardowymi, ale czy jest coś, co zostało wbudowane w Swift (szczególnie Swift 2.0+), które to robi?
Bezpośrednio podaj punkt kodu: '\ u {1F436}'. Istnieje przykład w dokumencie, który łączysz z 'let sparklingHeart =" \ u {1F496} "//, skalarny kod Unicode U + 1F496' – nhahtdh
Co zrobić, jeśli nie znam pełnego punktu kodowego? To znaczy, co jeśli znam tylko zastępcze pary? – Suragch
'String' ma' init? (_ Utf16: String.UTF16View) 'metoda, ale nie znalazłem jeszcze jak * utworzyć * a' String.UTF16View' z danej tablicy. - Podobne pytanie (z możliwymi rozwiązaniami) jest tutaj: [Czy istnieje sposób na utworzenie łańcucha z tablicy utf16 w szybkim?] (Http://stackoverflow.com/questions/24542170/is-there-a-way-to -create-a-string-from-utf16-array-in-swift). –