我有应用什么使用BLE设备。我有特色值,但我无法将其转换为字符串。 例如,
value = <aa640400 0000001e 0f>
如何将其转换为字符串?
答案 0 :(得分:0)
{{1}}
答案 1 :(得分:0)
我正在使用上面桑迪的答案并将其浓缩为
let data = (characteristic.value)!
let nsdataStr = NSData.init(data: (characteristic.value)!)
print("Raw: \(nsdaraStr)")
我要做的就是从BLE外设(在这种情况下为HR监视器)获取原始值(以十六进制表示)。 上面的输出给我:
// This is the Decimal HRArray:[22, 64, 90, 3]
Raw: {length = 4, bytes = 0x16404e03}
下面的代码基本上只是删除空白
let str = nsdataStr.description.trimmingCharacters(in:charSet).replacingOccurrences(of: " ", with: "")
做到
Raw: {length=4, bytes=0x16404e03}
我不需要。
答案 2 :(得分:-1)
以下代码:
let data = (characteristic?.value)!
print(data) //-> It will be of type Data we need to convert Data to String
let charSet = CharacterSet(charactersIn: "<>")
let nsdataStr = NSData.init(data: (characteristic?.value)!)
let str = nsdataStr.description.trimmingCharacters(in:charSet).replacingOccurrences(of: " ", with: "")
print(str) // you will get String or Hex value (if its Hex need one more conversion)