Python 3.x Python 3 bytearray赢得';我不接受字符串
我有一些串行协议,它使用消息的第一个字节来携带接收者的地址。在Python2中,它工作正常,但在3中,我得到了错误:Python 3.x Python 3 bytearray赢得';我不接受字符串,python-3.x,binary-data,Python 3.x,Binary Data,我有一些串行协议,它使用消息的第一个字节来携带接收者的地址。在Python2中,它工作正常,但在3中,我得到了错误: serial.write(bytes(chr(addr | 0x80)) + data) TypeError: string argument without an encoding data是此处的bytearray对象。我如何简单地用addr | 0x80的结果作为前缀?好的,找到了一个在Python 2和3中工作的解决方案: serial.write(bytearray(
serial.write(bytes(chr(addr | 0x80)) + data)
TypeError: string argument without an encoding
data
是此处的bytearray
对象。我如何简单地用addr | 0x80
的结果作为前缀?好的,找到了一个在Python 2和3中工作的解决方案:
serial.write(bytearray([addr | 0x80]) + data)