1

使用 Python V.3.3

我想知道如何使用写在记事本文档中的十六进制数据来创建 .PNG(或任何其他图片文件)。目前它读取一个图片文件。从那里将其转换为十六进制格式,然后保存到记事本文档中。然后它读取记事本文件并抓取数据。

我遇到的问题是,当它尝试写入一个新的图片文件时,它确实如此,但没有存储数据。无论我尝试什么,我都会得到一张空白的 0 字节图片。我该如何解决?我需要在我的 getbyte 变量上使用任何特定格式吗?任何帮助将非常感激。我试图让这个工作更容易为 2D 游戏地图发送/存储数据。

import binascii

f = open("c:/test1.png", "rb")
ima = f.read()
f.close()
print (binascii.hexlify(ima))

f = open("file123.txt", "w")
f.write(binascii.hexlify(ima).decode('utf-8'))
f.close()
#-----------
f = open("file123.txt", "r+")
getbyte = f.read()
f.close()

getbytes = (binascii.unhexlify(getbyte))
getbyte = (binascii.hexlify(getbytes))

f = open("filetest.png", "wb")
f.write(getbyte)
f.close

#-----------
4

1 回答 1

2

要将其保存为二进制图像,请编写getbytes

getbytes = (binascii.unhexlify(getbyte))
f = open("filetest.png", "wb")
f.write(getbytes)
f.close

我认为您也在查看错误的目录,尝试以不同的名称保存并查看它是否创建了该文件。

于 2013-06-20T05:45:05.587 回答