背景:我需要将一个数字值作为字节发送到外部设备,但是我遇到了问题。我的代码如下:
ser=serial.Serial("COM3",9600, timeout=0)
ser.write(value)
"value"是我读取的一个整数。问题在于,当我发送它时,它发送的是字符值,而不是实际的值(例如,它发送数字5的字节值31,因为那是它的Unicode位置,我想)
实际上,我想发送的是字符"\x05"。我的问题是,我应该如何将一个整数5转换成字符"\x05",或者将37转换成"\x37"呢?
bytes((1,))
返回字符串'(1,)'
。在Python 3下,它返回b'\x01'
。因此,如果您希望支持Python 2和3,请不要使用这两个。 - larsks