iOS 解释 BLE 数据和字节 swift 3

标签 ios swift byte bluetooth-lowenergy epoch

所以我一直在使用 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 他们每个人都给我不同的时间。有没有人可以帮助我一步一步地解释这些数据并以正确的方式使用它?

简而言之:“如何从我的 BLE 设备正确读取/操作纪元时间?”

提前感谢您花时间阅读。

最佳答案

您无法按照您尝试打印的方式打印 NSData。您必须将其转换为字符串(字节数组)。

例如:

let yourDataByte = [UInt8](advertiseData as! NSData)

let yourString = String(NSString(format:"%02X", Int(yourDataByte[0])))

关于iOS 解释 BLE 数据和字节 swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46805975/

相关文章:

swift - 如何使用 Swift 和 MacOS 隐藏顶部栏(带按钮)?

ios - 在 Firebase 上注册新用户时出错

python - 如何在 python 中从不同的数据类型创建 "byte stream"

ios:CoreData实体继承

ios - 设置 rootViewContorller 时禁用 UITabBarController 动画

ios - 从 swift 三元运算符返回引用

ios - 重新定位 UIAlertView

java - 在 Java 中显示 UTF-8 表情符号

Java:有什么方法可以从字节数组中获取 ZipFile (或任何具有直接 getEntry 方法的内容)?

ios - 如何针对随 SDK 变化的方法创建单元测试?