在Python中,尝试将整数转换为字符并放入二进制“字符串”

时间:2014-02-19 09:33:06

标签: python bytearray python-3.3

在Python 3.3中,我需要将一个整数转换为三个字节的中间位,以通过串行连接发送它。

也就是说,我需要有一个值b'\x4c\x00\x46',除了\ x00字节需要取整数变量的单字节值,该变量可能在0到255之间变化。我认为是chr (值)可以工作,但是它给出一个字符串而不是一个字节。

例如,如果值为255,我想获得b'\x4c\xff\x46'

1 个答案:

答案 0 :(得分:3)

使用bytearray

>>> b'\x4c\x00\x46'
b'L\x00F'
>>> a = bytearray(b'\x4c\x00\x46')
>>> a[1] = 255
>>> a
bytearray(b'L\xffF')
>>> bytes(a)
b'L\xffF'

您也可以使用list代替bytearray。但是使用list在Python 2.x中不起作用。