タスクを実行し、PNG ファイルとともに出力を生成する Python スクリプトを作成しています。PNGファイルをSublime textに入れたとき。
前もって感謝します。
タスクを実行し、PNG ファイルとともに出力を生成する Python スクリプトを作成しています。PNGファイルをSublime textに入れたとき。
前もって感謝します。
Sublime で表示される「エンコーディング」は、PNG の 16 進数表現です ( hexdumpとも呼ばれます)。
Sublime は、デフォルトで、バイナリ ファイルの 16 進ダンプを表示します。
バイト 1 ~ 3 (バイト 0 は 89) は ascii'PNG'
です。
50
→P
4e
→N
47
→G
ASCII テーブルを調べて、自分の目で確かめてください。
ファイルをvimで開くと、ガーベルディグックのバイナリ混乱が発生しますが、少なくともこれが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()
完全な 16 進ダンプ (ただし、スペースはありません) がある場合は、元に戻すことができます。
import binascii
ff = open("cat.txt", "r")
txt = ff.read()
ff.close()
image = binascii.unhexlify(txt)
スペースがある場合 (上記の 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)