在UI中将UInt32(UTF-32)转换为String

时间:2015-07-15 03:34:48

标签: ios string swift uint32

我有一组UInt32值。我想将此数组转换为String

这不起作用:

let myUInt32Array: [UInt32] = [72, 101, 108, 108, 111, 128049]
let myString = String(myUInt32Array) // error
let myString = String(stringInterpolationSegment: myUInt32Array) // [72, 101, 108, 108, 111, 128049] (not what I want)

这些SO帖子显示UTF8UTF16

1 个答案:

答案 0 :(得分:4)

UnicodeScalarUInt32的类型别名。然后将UInt32值转换为UnicodeScalar,然后将其附加到String

let myUInt32Array: [UInt32] = [72, 101, 108, 108, 111, 128049]

var myString: String = ""

for value in myUInt32Array {
    if let scalar = UnicodeScalar(value) {
        myString.append(Character(scalar))
    }
}

print(myString) // Hello