如何用python更改byte中的位?

时间:2014-05-15 06:06:34

标签: python io type-conversion bits

我有.bmp张照片,我需要用它做一些隐写术。

对于此操作,我必须将.bmp转换为字节列表,然后对位进行一些更改。

我使用带有open()参数的"rb"来创建字节列表,然后使用'{0:08b}'.format(mybyte)将每个字节转换为字符串。

我的问题是如何将字符串表示字节转换回字节?也许有一些更快或更正确的方法来处理位?

2 个答案:

答案 0 :(得分:1)

int构造函数可以非常轻松地完成此任务:

>>> s = '{0:08b}'.format(42)
>>> s
'00101010'
>>> int(s, 2)
42

答案 1 :(得分:0)

使用binascii模块。

例如:

binascii.a2b_hex('A0')