Swift将十六进制字符串转换为整数

3

我有一个字符串数据源示例

HexString = "72AE"

我想将它转换为字节并存储到字节数组中。

bytearray = [72, AE]  //UInt8

我知道我可以通过以下方式实现这一点:

let hexaString = "72AE"
let resultArray = hexaString.characters.map{Int(strtoul(( String($0)), nil, 16))}

print(resultArray)  // "[7, 2, 10, 14]"

但它没有返回我想要的值。我也尝试过将其分解为十六进制字符串 hexaString1 = “72” hexaString2 = “AE”,但仍然无法得到正确的值。

1个回答

1
希望这能帮到你。
let hexaString = "72AE"
var byteArray = [UInt8]()
byteArray += hexaString.utf8  // Convert into byte array

// Retain the orginal string from byte array
let stringFromByteArray = NSString(bytes: byteArray, length: byteArray.count, encoding: NSUTF8StringEncoding)

我认为他想要返回0x72和0xAE,但实际上只得到了0x37(7)、0x32(2)、0x41(A)和0x45(E)。 - John Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接