js的hex转string

467 阅读1分钟

一、介绍

硬件设备,与软件的交互,并非如我们通常的接口交互一样(完整的json等),设备是通过协议字符串把内容发给软件(16进制,如:12BC4283CD),这样传输字符串就是与软件有个”协议“,比如第一个字节(16进制)”32“ = (字符)”2“ ,我们按照协议(长度,或者校验码)先过滤掉不完整的内容,再把有效的内容解析出来,才是有用的值

项目案例:获取蓝牙秤数据显示到APP上

二、代码

image.png

 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
        }