Python串行-如何解码为字符串

问题描述

我正在使用python串行模块尝试读取旋转编码器。我收到了东西,但不确定是什么?

不转动编码器时,我得到以下字节:

b'y\xf6\xf6\xf6\xf6\x16\xd6\x16\xb6\xd6\x06\x00'

当我转动编码器时,我得到了更长的字节序列:

b'y\xf6\xf6\xf6\xf6\x16\x96\x16\xb6\xb6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16\xb66\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16v\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16Vv\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16V\x16\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x166V\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16\xf6\x96\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xf6\xd6\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xf6\x966\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xf6V\xf6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xd6\xd6\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6\xd6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x16v\xd6\xd6v\x06\x00y\xf6\xf6\xf6\xf6\x16v\xb6\xb6\x16\x06\x00y\xf6\xf6\xf6\xf6\x16v\x96\xb6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x16vv\xd66\x06\x00y\xf6\xf6\xf6\xf6\x16vV\x96\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16v6v6\x06\x00y\xf6\xf6\xf6\xf6\x16v\x16\x96\x16\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6\xd6V\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6v\x96\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6\xf6\xb6\x06\x00y\xf6\xf6\xf6\xf6\x16v\xd6vV\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\xd6v\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\xd6V\x06\x00y\xf6\xf6\xf6\xf6\x16V\xb6\xd6V\x06\x00y\xf6\xf6\xf6\xf6\x16V\x96v\xb6\x06\x00y\xf6\xf6\xf6\xf6\x16Vvvv\x06\x00y\xf6\xf6\xf6\xf6\x16VV\x966\x06\x00y\xf6\xf6\xf6\xf6\x16V6v\x16\x06\x00y\xf6\xf6\xf6\xf6\x16V\x16vv\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\xf66\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\x16\xb6\x06\x00y\xf6\xf6\xf6\xf6\x166\xf6\xd66\x06\x00y\xf6\xf6\xf6\xf6\x166\xd6\x96v\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xd6\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xf6\x06\x00'

我使用的python代码是:

import serial

ser = serial.Serial(
        port='/dev/ttyAMA0',baudrate = 9600,#parity=serial.PARITY_NONE,#stopbits=serial.STOPBITS_ONE,#bytesize=serial.EIGHTBITS,timeout=1
)
cnt = 0
while 1:
    try:
        x=ser.readline()
        print(x)
        cnt += 1
    except Exception as e:
        print(e)

我也尝试过x.decode()x.decode(“ utf8”)x.decode(“ utf16”)32和latin1。老实说我只是不明白我在看什么。任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)