我正在尝试将字符串转换为数据类型.我认为这就是我所需要的但是如果我尝试打印它只打印"12字节"
let tString = "Hello World!"
if let newData = tString.data(using: String.Encoding.utf8){
print(newData)
self.peripheral?.writeValue(newData, for: positionCharacteristic, type: CBCharacteristicWriteType.withResponse)
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
你没有做错任何事.这就是Data目前如何进行调试打印输出.它随着时间的推移而改变.它有时打印更像NSData.根据调试打印格式非常脆弱,我认为最好直接拥有它.我发现以下内容非常有用:
extension Data {
func hex(separator:String = "") -> String {
return (self.map { String(format: "%02X", $0) }).joined(separator: separator)
}
}
Run Code Online (Sandbox Code Playgroud)
这允许我print(newData)用类似的东西替换你的简单
print(newData.hex())
Run Code Online (Sandbox Code Playgroud)
要么
print(newData.hex(separator:"."))
Run Code Online (Sandbox Code Playgroud)
如果我的眼睛需要帮助解析字节
除此之外,我自己做了很多BLE的东西,并为BLE的东西编写了许多其他有用的数据扩展
| 归档时间: |
|
| 查看次数: |
22506 次 |
| 最近记录: |