Swift Language Unicode


Ejemplo

Estableciendo valores

Usando Unicode directamente

var str: String = "I want to visit 北京, Москва, मुंबई, القاهرة, and 서울시. 😊"
var character: Character = "🌍"

Usando valores hexadecimales

var str: String = "\u{61}\u{5927}\u{1F34E}\u{3C0}" // a大🍎π
var character: Character = "\u{65}\u{301}" // é = "e" + accent mark

Tenga en cuenta que el Character Swift puede estar compuesto por varios puntos de código Unicode, pero parece ser un solo carácter. Esto se llama un Clúster Grapheme Extendido.

Conversiones

Cuerda -> Hexagonal

// Accesses views of different Unicode encodings of `str`
str.utf8
str.utf16
str.unicodeScalars // UTF-32

Hexagonal -> Cuerda

let value0: UInt8 = 0x61
let value1: UInt16 = 0x5927
let value2: UInt32 = 0x1F34E

let string0 = String(UnicodeScalar(value0)) // a
let string1 = String(UnicodeScalar(value1)) // 大
let string2 = String(UnicodeScalar(value2)) // 🍎

// convert hex array to String
let myHexArray = [0x43, 0x61, 0x74, 0x203C, 0x1F431] // an Int array
var myString = ""
for hexValue in myHexArray {
    myString.append(UnicodeScalar(hexValue))
}
print(myString) // Cat‼🐱

Tenga en cuenta que para UTF-8 y UTF-16, la conversión no siempre es tan fácil porque cosas como emoji no pueden codificarse con un solo valor UTF-16. Se necesita una pareja sustituta.