Bub*_*ter -4 python png decode sublimetext sublimetext2
我正在创建一个Python脚本来执行任务,然后生成输出以及PNG文件.当我将PNG文件放入Sublime文本时.
提前致谢.
您在Sublime中看到的"编码"只是PNG的十六进制表示(也称为hexdump).
默认情况下,Sublime显示二进制文件的十六进制转储.

字节1-3(字节0是89)是ascii 'PNG'.
50 → P4e → N47 → G咨询ascii表,亲眼看看.
如果你在vim中打开文件,你会得到garbeldy-gook二进制混乱,但你至少可以看到文件魔术表示这是一个PNG:

虽然这是相同的形象.您只需要使用图像查看器(或浏览器)打开它.

如果你想创建这个图像的hexdump,只需读入它,用binascii转换它,瞧!
import binascii
ff = open("cat.png", "rb")
data = ff.read()
ff.close()
txt = binascii.hexlify(data)
fw = open("cat.txt", "w")
fw.write(txt)
fw.close()
Run Code Online (Sandbox Code Playgroud)
如果你有一个完整的十六进制转储(虽然没有空格),你可以转换回:
import binascii
ff = open("cat.txt", "r")
txt = ff.read()
ff.close()
image = binascii.unhexlify(txt)
Run Code Online (Sandbox Code Playgroud)
如果你确实有空格(如上所述的Sublime),那么只要摆脱它所有的空白.
import binascii
ff = open("cat.txt", "r")
txt = ff.read()
ff.close()
# Split on space, join back with no separator
txt = "".join(txt.split())
image = binascii.unhexlify(txt)
Run Code Online (Sandbox Code Playgroud)