【发布时间】:2017-09-30 15:12:38
【问题描述】:
基本上,我将 nativescript 用于跨平台应用程序。此应用程序与 BLE 设备交互。 BLE 设备在广告数据包之后发送扫描响应,我可以在 iOS 端将其作为 NSData 对象检索。
这是描述属性的(伪)输出:。
输出代表外设的硬件地址。
硬件人员告诉我这是 little-endian,我知道它是 48 位字符串。它来自外围设备,其固件是用 C 语言编写的。
我已经尝试了几天将其转换为字符串(具有正确的字节顺序),以便我可以将硬件地址存储在我们的后端,但我无法提出一个优雅的解决方案。
我提出的一个解决方案是读取 NSData 对象的 :description 属性,然后手动(在 javascript 中)“解码”它。我只是觉得这个解决方案对于生产环境来说不够合适,我想改用本机实用程序。
我尝试过使用:
NSString.alloc().initWithDataEncoding(mac, NSUTF8StringEncoding);
..使用文档THIS 页面中的每种编码类型。我要么得到 nil 作为回报,要么是不正确的字符。
正如我之前所说,这是用 NativeScript 编写的;但是,我对目标 C 有很好的理解,所以我应该能够转换以该语言提供的任何示例。
任何意见将不胜感激。提前致谢!
【问题讨论】:
标签: ios objective-c encoding nativescript endianness