如何用Python修改字节中的位?
我有一张 .bmp
格式的图片,我想在里面做一些隐写术(就是把信息藏在图片里)。
为了做到这一点,我需要把 .bmp
图片转换成字节列表,然后对这些字节的位(bit)进行一些修改。
我使用 open()
函数,参数设置为 "rb"
来读取字节列表,然后用 '{0:08b}'.format(mybyte)
把每个字节转换成字符串。
我想问的是,如何把这个字节的字符串表示再转换回字节呢? 也许还有更快或者更正确的方法来处理位?
2 个回答
0
1
int
构造函数可以很简单地做到这一点:
>>> s = '{0:08b}'.format(42)
>>> s
'00101010'
>>> int(s, 2)
42