現在、文字列配列を取得していますが、これを UInt8 配列に変換したいですか? すべての文字列は UInt8 のものですが、文字列としてしか取得できません。何か案は?
let stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"
配列内の各項目を個々の部分に分割していますが、文字列を UInt8 に変換する方法がわかりません。
ありがとう
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) }
これは機能します:
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)
}
}
これを試してみてください
への単一のString
変換の場合UInt8
let unt = UInt8("231")
または、完全な配列を の配列として使用できますUInt8
。
let stringValues :[UInt8] = [185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]