我尝试使用 Swift 3 在 Xcode 中创建一个小型 iOS 应用程序。我尝试连接到 BLE 设备,然后读取电池电量。
我收到这样的回复:
...UUID = Battery Level, properties = 0x12, value = <30>...
然后我尝试将十六进制的 30 转换为十进制的 48。 但我不知道怎么办。
我试过这个:
print(String(bytes: characteristic.value!, encoding: String.Encoding.utf8))
print(Int(strtoul(str, nil, 16)))
let dataBLE = String(data: characteristic.value!, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
print(dataBLE)
但是这些都不起作用。如何将 characteristic.value
中的值从十六进制转换为十进制?
最佳答案
这应该有效:
let data = characteristic.value
var byte:UInt8 = 0
data.copyBytes(to: &byte, count: 1)
let valueInInt = Int(byte)
print(valueInInt)
关于ios - Swift 以十进制获取 characteristic.value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41192187/