我试图通过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;)并获取上一个错误。
我只是问这个,因为这个错误圈子确实没有意义。有人可以帮忙吗?如果有帮助,我可以提供有关代码的更多信息。
提前致谢
答案 0 :(得分:0)
不要创建字符串。
字符串用于unicode文本,\x24\x4d\x3c\x00
不是。
对于任意字节,请使用字节字符串。您可以使用b''
直接构建它们。
>>> type('foo')
<class 'str'>
>>> type(b'foo')
<class 'bytes'>
答案 1 :(得分:0)
你应该尝试:
bytes
这样它们被视为{{1}}个对象,而不是unicode字符串。