将串行输出转换为可读字符串(x0c005021)

2024-09-30 16:26:41 发布

您现在位置:Python中文网/ 问答频道 /正文

使用查询系统(由QMatic提供)。我们想把一根串行电缆连接到一台Linux计算机上,以检测变化,例如如果一个查询号码发生了变化

目前我正在使用python读取串口。在QMatic中更改数字时,得到如下结果:b'\x0c005021\r'(8字节)? 如何将其转换为可读的输出?什么是x0c005021?十六进制


Tags: 字节linux系统计算机数字号码电缆x0c005021
1条回答
网友
1楼 · 发布于 2024-09-30 16:26:41

它是一个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”,前后有控制字节

相关问题 更多 >