4

我需要读取位图图像文件 (.bmp) 并将二进制数据拆分为字节数组,然后我可以将其重组为原始文件。最终,我将修改每个字节的一部分以存储数据,然后读取它以取回数据。

细节

目前,我正在使用

文件 = 打开(“example.bmp”,“rb”)

数据 = 文件.read()

文件.close()

获取数据。然而,这是相当缓慢和低效的。接下来,我想将它拆分为一个字节数组,并将不属于元数据的每个位的最后一位更改为 0(我将使用if语句从每个奇数字节中减去 1)。然后我将重新合并数据,并使用以下代码将其保存到一个新的图像文件中:

文件 = 打开(“example2.bmp”,“wb”)

file.write(数据)

文件.close()

尽管我怀疑这也可能不是最理想的。

我需要知道如何将大量二进制数据拆分为字节。

4

1 回答 1

5

data已经是一个字节数组,您可以使用切片表示法对其进行索引。例如,根据BMP 文件格式,Bitmap File Header 在data[0:14]. 您可能希望改用Python 中的 C 库来节省一些时间。

于 2013-06-12T17:15:01.173 回答