现在我有二进制数据,但我不能使用write()函数将它们转换为bmp文件
详情
f.write(binary_data,"new.bmp")
TypeError:需要类似字节的对象,而不是' str'
事实上,我只想修改一些图像数据来创建新图像。我刚才知道的是,
似乎write(str_data)在早期的python版本中工作。 (我引用了其他关于将数据写入图像的方法。)
我尝试使用 data.encode(' hex')
LookupError:' hex'不是文本编码;使用codecs.encode()来 处理任意编解码器
是否有其他方法可以修改位数据然后将它们写入bmp文件?
答案 0 :(得分:0)
我已经解决了这个问题 BMP图像文件以字节数组存储。只需使用bytearray()函数 我的解决方案是:
new_data = []
for i in range(0, len(data), 8):
new_data.append(data[i:i+8]) # 8 digit binary list
int_data = []
for i in new_data:
int_data.append(int(i,2)) # bytearray will convert decimal to hex
a= bytearray(int_data)
然后它可以使用write(a)来工作 产品:>