将字符串转换为 UTF 8

Converting a string to UTF 8

我目前有一个字符串数组,我想将其转换为 UInt8 数组?所有的字符串都是 UInt8,但我只能将其作为字符串检索。有什么想法吗?

let stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"

我将数组中的每一项都拆分成单独的部分,我只是不知道如何将字符串转换为 UInt8。

谢谢

试试这个

对于单个 String 转换为 UInt8

let unt = UInt8("231")

或者您可以使用完整数组作为 UInt8 的数组。

let stringValues :[UInt8] = [185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]

这个有效:

var stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"

stringValues = stringValues.stringByReplacingOccurrencesOfString("[", withString: "").stringByReplacingOccurrencesOfString("]", withString: "").stringByReplacingOccurrencesOfString(" ", withString: "")

var values = [UInt8]()
print(stringValues)
for item in stringValues.componentsSeparatedByString(",") {
    if let value = UInt8(item) {
        values.append(value)
    }
}
let stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"
let uint8Values = stringValues.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString:" ,\"[]"))
    .filter { ![=10=].isEmpty}.flatMap{ UInt8([=10=]) }