串口发送数据——字符串发送与十六进制发送的区别

我们在用串口发送数据的时候首先将待发送的数据/符号转换为对应的ASCII码,然后将这些ASCII码按照二进制的方式一位一位地发送出去。

(注:以下图片来自https://blog.****.net/wityy/article/details/8234739

串口发送数据——字符串发送与十六进制发送的区别

串口发送数据——字符串发送与十六进制发送的区别

字母、数字在内存中的二进制应该按照ASCII码表对照,也就是A的ASCII码是65,十六进制是0x41,二进制内存为01000001

(内存中存的是二进制数,这8位二进制数对应的是ASC码的十进制数,上面说的十六进制0x41是中间的一个转换,没什么实际用处,它既不是内存里实际存储的可以看到的东西,也不是ASCII表里的东西)

也有博友说:“A852010100000000A91A”指的是十六进制的0~F组成的数据串,并不是指的字符串。在编程实现中,这个数据串存储在string中是需要先转化下的: [引用自 http://blog.****.net/xhao014/article/details/6663738 请谅解源码作者已经无从考证]

串口发送数据——字符串发送与十六进制发送的区别