2016-10-25 72 views
0

我有一些串行协议,它使用消息的第一个字节来传送收件人的地址。在Python 2,它的工作,但在3我得到的错误:Python 3 bytearray将不接受字符串

serial.write(bytes(chr(addr | 0x80)) + data) 
TypeError: string argument without an encoding 

data是这里的bytearray对象。我怎样才能简单地用addr | 0x80的结果作为前缀?

回答

0

好,发现在Python 2工作的解决方案& 3:

serial.write(bytearray([addr | 0x80]) + data)