嗨,我需要使用React-native进行BLE集成。
我正在使用此软件包:https://polidea.github.io/react-native-ble-plx/
我已经成功搜索了BLE设备,我需要读取其制造商数据并检查一些值
问题:我正在获取字符串(Base64)格式的制造商数据,并使用以下代码将其转换为字节数组。
convertStringToByteArray(str) {
String.prototype.encodeHex = function () {
var bytes = [];
for (var i = 0; i < this.length; ++i) {
bytes.push(this.charCodeAt(i));
}
return bytes;
};
var byteArray = str.encodeHex();
return byteArray
}
结果如下。
[xx, xx, xx, xx, xx, xx, xx, xx]
我不确定该如何处理。
在本机iOS中,我获得了Apple本身提供的DATA格式的输出。不确定如何处理
要求 我需要将该子范围2 .. <3转换为Uint8并检查Uint8结果是否包含整数?
任何人都可以帮我解析这些数据吗?
答案 0 :(得分:1)
使用 buffer js 库,可以使用以下代码片段来实现:
var Buffer = require('buffer/').Buffer
const strval = "base-64-encoded-string";
const buffer = new Buffer(strval, 'base64');
const bufStr = buffer.toString('hex'); //make sure to encode it as 'hex' and not 'string'
答案 1 :(得分:0)
找到的解决方案字符串为base64 ENCODED,我必须先对字符串进行解码,然后再转换为字节数组