我正在尝试与arduino进行串行通信,arduino向我发送轮询ADC通道的结果,其形式为带有十进制结果的ASCII字符串,通常附加一个EOT字符('\ x04') 。 我可以从PySerial得到的典型结果是:
b'0\x04'
表示整数0或
b'293\x04'
表示整数293,甚至
b'1023\x04'
为最高可能值,1023。
在PC端,我正在运行python 3.2(在Windows 7上)。
我想将接收到的字节从PySerial转换为整数,所以我可以用它们来计算。
如何将字节数组转换为整数?
我可以阻止arduino在数值后发送EOT字符,但是让它们进入可能更安全。
我是Python的初学者,但与C不同。
答案 0 :(得分:3)
从右侧剥离EOT字符并将结果提供给int
>>> int(b'1023\x04'.rstrip(b'\x04'))
1023