3

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

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

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

谢谢

4

3 回答 3

1

这有效:

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)
    }
}
于 2015-10-28T23:31:04.677 回答
1
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) }
于 2015-10-29T12:46:05.180 回答
0

试试这个

对于单次String转换UInt8

let unt = UInt8("231")

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

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

于 2015-10-28T23:28:12.563 回答