C++如何将2个BYTE数据转化为1个BYTE
在解析串口读取数据的时候遇到这个问题:“从串口读取数据中取两个BYTE,但是目标是将这两个BYTE转化为一个BYTE,如:0x01 0x02 -> 0x12”。
其实转化思路很简单:将0x01 << 4 + 0x02 --> 0x12,即将高位BYTE左移4位在加上(或“位或上”)低位的BYTE,就得到想要的数据了。
但是,当串口读取到的是ASCII的形式,如0x31 0x32 ,这时想要转化为0x12,上面那种方法就不行。其实转化起来也很方