我已经阅读了 IONIC 2 的文档,它是 https://ionicframework.com/docs/v2/native/ble/ .从那里给出了 arraybuffer 到 string 的转换,这对我不起作用。如图
如何从读取特征数据中获取固件版本作为 IONIC 2 的 Arraybuffer 转换代码,它是:
函数 bytesToString(缓冲区){
返回 String.fromCharCode.apply(null, new Uint8Array(buffer));
不适合我。使用该代码,我得到了输出:îÍy}ùt
。我是 ionic 的新手。我的字节传输顺序最低有效八位字节在前(即小字节序)。请给我转换解决方案。谢谢。
最佳答案
我也在使用 bytesToString
并且在我这样做之后也得到了 ascii 的值:
var convertData = bytesToString(result);
var hexResult = [];
for (var i=0; i < convertData.length; i++){
var resultNumber = convertData.charCodeAt(i); //Dec
var resultString = ("00" + (+resultNumber).toString(16)).substr(-2); //String
hexResult[i] = "0x" + resultString;
}
我想要十六进制,所以我做了 toString(16)
。您可以相应地进行更改并尝试一下。
让我知道这是否有效!
关于android - BLE设备读取特征值的Arraybuffer如何取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245849/