«Кодировка», которую вы видите в Sublime, представляет собой шестнадцатеричное представление PNG (также называемое hexdump).
Sublime, по умолчанию показывает шестнадцатеричный дамп двоичных файлов.
Байты 1-3 (байты-89) являются ASCII 'PNG'
.
Обратитесь к ascii table, чтобы увидеть для себя.
Если открыть файл в Vim, вы получите garbeldy Гук двоичный беспорядок, но вы можете по крайней мере увидеть файл магии обозначив это как PNG:
Это то же самое изображение, хотя , Вам просто нужно открыть его с помощью средства просмотра изображений (или вашего браузера).
Если Вы желаете создать шестнадцатеричные этот образ, просто прочитать его, преобразовать его с 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()
Если у вас есть полный дамп (без пробелов, хотя), вы можете преобразовать обратно:
import binascii
ff = open("cat.txt", "r")
txt = ff.read()
ff.close()
image = binascii.unhexlify(txt)
Если у вас есть пробелы (как выше с возвышенного), просто избавиться от всех пробел, пока вы на нем.
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)
Это просто гексагон. Он имеет отношение один к одному с двоичным. http://en.wikipedia.org/wiki/Hexadecimal Это ваш PNG-файл :) – elimirks
Спасибо Elimirks. Итак, мне нужен модуль python, который преобразует hex в изображение? – BubbleMonster
Можете ли вы показать код, который создает PNG? –