背景:我需要将一个数值作为字节发送到外部设备,但我遇到了一个问题。 我的代码是:
ser=serial.Serial("COM3",9600, timeout=0)
ser.write(value)
其中“value”是我读过的int读过的。问题是,当我发送它时,它发送字符值,而不是实际值(它发送数字5的字节值31,因为这是它的unicode位置,我相信)
实际上,我希望能够以“\ x05”字符发送它。我想我的问题是,我将如何将int 5转换为char“\ x05”,或将37转换为“\ x37”
答案 0 :(得分:8)
答案 1 :(得分:4)
你可以用这个..
bytes(chr(my_int)) # not strictly correct unless 0<=my_int<=255
bytes((my_int,))