我目前有一个字符串数组,我想将其转换为 UInt8 数组?所有字符串都是 UInt8 的,但是我只能将它作为字符串检索。有任何想法吗?
let stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"
我将数组中的每个项目拆分为单独的部分,我只是不知道如何将字符串转换为 UInt8。
谢谢
这有效:
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 { !$0.isEmpty}.flatMap{ UInt8($0) }
试试这个
对于单次String
转换UInt8
let unt = UInt8("231")
或者您可以使用完整数组作为UInt8
.
let stringValues :[UInt8] = [185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]