如何在Python 3中将带有ascii十进制数的字节数组转换为整数

时间:2015-12-22 15:49:06

标签: python python-3.x bytearray ascii

我正在尝试与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不同。

1 个答案:

答案 0 :(得分:3)

从右侧剥离EOT字符并将结果提供给int

>>> int(b'1023\x04'.rstrip(b'\x04'))
1023