3

現在、文字列配列を取得していますが、これを UInt8 配列に変換したいですか? すべての文字列は UInt8 のものですが、文字列としてしか取得できません。何か案は?

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

配列内の各項目を個々の部分に分割していますが、文字列を UInt8 に変換する方法がわかりません。

ありがとう

4

3 に答える 3

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 に答える
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 に答える
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 に答える