【问题标题】:Convert serial output to human readable string (x0c005021)将串行输出转换为人类可读的字符串 (x0c005021)
【发布时间】:2018-08-17 16:46:21
【问题描述】:

使用排队系统(由 QMatic 提供)。我们想将串行电缆连接到 Linux 计算机以检测更改,例如,如果队列号发生更改

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

【问题讨论】:

    标签: python binary hex ascii


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-03-31
      • 1970-01-01
      • 2012-03-25
      • 2016-12-20
      • 2013-02-21
      • 1970-01-01
      • 2012-03-09
      • 2022-10-02
      • 1970-01-01
      相关资源
      最近更新 更多