使用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
#-----------
答案 0 :(得分:2)
要将其另存为二进制图像,请编写getbytes
:
getbytes = (binascii.unhexlify(getbyte))
f = open("filetest.png", "wb")
f.write(getbytes)
f.close
我认为你也在查看错误的目录,尝试以不同的名称保存并查看是否创建该文件。