Arduino'错误通信... unicode字符串不受支持,请编码为字节' PySerial

时间:2016-09-25 22:05:30

标签: python-3.x arduino pyserial

我试图通过PySerial连接到我的MultiWii,但是我一直收到这个错误。

Error communicating...unicode strings are not supported, please encode to bytes: '$M<\x00ll'

这是代码失败的部分:

BASIC="\x24\x4d\x3c\x00"
MSP_ATTITUDE=BASIC+"\x6C\x6C"
ser.write(MSP_ATTITUDE)

我尝试使用.encode()对字符串进行编码,其中出现此错误:

Error communicating...'bytes' object has no attribute 'encode'

我已尝试过bytearray(MSP_ATTITUDE,&#39; ascii&#39;)并获取上一个错误。

我只是问这个,因为这个错误圈子确实没有意义。有人可以帮忙吗?如果有帮助,我可以提供有关代码的更多信息。

提前致谢

2 个答案:

答案 0 :(得分:0)

不要创建字符串。

字符串用于unicode文本,\x24\x4d\x3c\x00不是。

对于任意字节,请使用字节字符串。您可以使用b''直接构建它们。

>>> type('foo')
<class 'str'>

>>> type(b'foo')
<class 'bytes'>

答案 1 :(得分:0)

你应该尝试:

bytes

这样它们被视为{{1}}个对象,而不是unicode字符串。