一、介绍
硬件设备,与软件的交互,并非如我们通常的接口交互一样(完整的json等),设备是通过协议字符串把内容发给软件(16进制,如:12BC4283CD),这样传输字符串就是与软件有个”协议“,比如第一个字节(16进制)”32“ = (字符)”2“ ,我们按照协议(长度,或者校验码)先过滤掉不完整的内容,再把有效的内容解析出来,才是有用的值
项目案例:获取蓝牙秤数据显示到APP上
二、代码
let str = '02 40 42 20 20 20 20 31 2E 34 66 42 39 31 A7 0D'
console.log(hexToString(str));
// hex转string
function hexToString(hex) {
hex = hex.replace(/\s*/g, "");
var arr = hex.split("")
var out = ""
for (var i = 0; i < arr.length / 2; i++) {
var tmp = "0x" + arr[i * 2] + arr[i * 2 + 1]
var charValue = String.fromCharCode(tmp);
out += charValue;
}
return out
}