【发布时间】:2018-08-17 16:46:21
【问题描述】:
使用排队系统(由 QMatic 提供)。我们想将串行电缆连接到 Linux 计算机以检测更改,例如,如果队列号发生更改
目前我正在使用读取串行端口的python。在 QMatic 中更改数字时,我得到这样的结果: b'\x0c005021\r' (8 bytes) ? 如何将其转换为人类可读的输出?什么是 x0c005021?十六进制?
【问题讨论】:
使用排队系统(由 QMatic 提供)。我们想将串行电缆连接到 Linux 计算机以检测更改,例如,如果队列号发生更改
目前我正在使用读取串行端口的python。在 QMatic 中更改数字时,我得到这样的结果: b'\x0c005021\r' (8 bytes) ? 如何将其转换为人类可读的输出?什么是 x0c005021?十六进制?
【问题讨论】:
这是一个 8 字节的序列。在交互式控制台中查看它的一种方式是这样的:
>>> b = b'\x0c005021\r'
>>> type(b)
<class 'bytes'>
>>> len(b)
8
>>> [i for i in b]
[12, 48, 48, 53, 48, 50, 49, 13]
所以第一个字节是 12,这是某种换页符?这是开头的“\x0c”。后面是字符 0、0、5、0、2、1 的 ascii 代码(您已经可以在示例中读到),然后是字节 13,即\r。
所以可读位是“005021”,前后有控制字节。
【讨论】: