iOS 解释 BLE 数据和字节 swift 3
iOS explanation BLE data and bytes swift 3
所以我一直在使用 BLE 设备及其数据。从 BLE 设备读取时,数据存储在数据对象中。现在对于这个例子,我将使用 Epoch 时间,因为这(应该)很容易检查。所以 pod Bluejay 保存了数据,当按照 debugPrint("Epoch Time: \(data as NSData)")
打印数据时,结果是这样的 "Epoch Time: <869c0200>"
。到目前为止,我认为一切都很好。当我复制值 869c0200
并将其放入 Mac 计算器(程序员模式),进行字节翻转,并在网站 epochtimeconverter 上进行检查时,我得到了 1970 年的合理日期。因为它总是在电池没电后重置为 1970。现在,当我设置断点并查看值时,我看到了一些东西。
_bytes UnsafeMutableRawPointer? (_rawValue = 0x00000001c04364b0)
_rawValue Builtin.RawPointer 0x1c04364b0
他们每个人都给我不同的时间。有没有人可以帮助我一步一步地解释这些数据并以正确的方式使用它?
简而言之:"How can I correctly read/manipulate the epochtime from my BLE device?"
提前感谢您抽出时间阅读。
您无法按照您尝试的方式打印 NSData print.You 必须将其转换为字符串(字节数组)。
例如:
let yourDataByte = [UInt8](advertiseData as! NSData)
let yourString = String(NSString(format:"%02X", Int(yourDataByte[0])))
所以我一直在使用 BLE 设备及其数据。从 BLE 设备读取时,数据存储在数据对象中。现在对于这个例子,我将使用 Epoch 时间,因为这(应该)很容易检查。所以 pod Bluejay 保存了数据,当按照 debugPrint("Epoch Time: \(data as NSData)")
打印数据时,结果是这样的 "Epoch Time: <869c0200>"
。到目前为止,我认为一切都很好。当我复制值 869c0200
并将其放入 Mac 计算器(程序员模式),进行字节翻转,并在网站 epochtimeconverter 上进行检查时,我得到了 1970 年的合理日期。因为它总是在电池没电后重置为 1970。现在,当我设置断点并查看值时,我看到了一些东西。
_bytes UnsafeMutableRawPointer? (_rawValue = 0x00000001c04364b0)
_rawValue Builtin.RawPointer 0x1c04364b0
他们每个人都给我不同的时间。有没有人可以帮助我一步一步地解释这些数据并以正确的方式使用它?
简而言之:"How can I correctly read/manipulate the epochtime from my BLE device?"
提前感谢您抽出时间阅读。
您无法按照您尝试的方式打印 NSData print.You 必须将其转换为字符串(字节数组)。
例如:
let yourDataByte = [UInt8](advertiseData as! NSData)
let yourString = String(NSString(format:"%02X", Int(yourDataByte[0])))