Python 3.3 - 需要帮助使用 .txt 中的数据编写 .png 文件

标签 python hex

使用Python V.3.3

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

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

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

#-----------

最佳答案

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

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

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

关于Python 3.3 - 需要帮助使用 .txt 中的数据编写 .png 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205874/

相关文章:

python - 鸡蛋和零件之间的构建有什么区别?

Python 字符串连接内部细节

python - 在 Python 中对两个列表进行相减和相加而不改变它们的顺序

c++ - 在控制台中打印一个十六进制数组

objective-c - 使用 Objective-C 读取 .mobileprovisioning 配置文件

python - 在类中使用 scipy.optimize.curve_fit

python - 猜数游戏中的循环和验证

string - 如何将 MIPS 数字字符串转换为十六进制

c - 非空十六进制字符输入在 C 中解释为空

php - 根据字体大小改变背景颜色