我已使用下面的代码将字符串“UK”转换为十六进制。如何将其转换为十六进制?
let str = auxText
let bytes = str.utf8
var buffer = [UInt8](bytes)
buffer[0] = buffer[0] + UInt8(1)
print("ascii value is",buffer)
答案 0 :(得分:0)
在Swift 4中,您可以将ascii编码的string
转换为带有
string.data(using: .ascii)
要将数据转换为十六进制或十进制,您可以使用以下扩展名:
extension Data {
var hexString: String {
return map { String(format: "%02hhx", $0) }.joined()
}
var decimalString: String {
return map { String(format: "%d", $0) }.joined()
}
}
您的测试字符串" UK"
let string = "UK"
使用
进行评估let hexString = string.data(using: .ascii)!.hexString
要
554b
并且
let decimalString = string.data(using: .ascii)!.decimalString
要
8575
两个结果都是正确的,你可以在任何ASCII表中查找它们。