
以下は、Sublime Text で開いて 16 進コードを直接表示した PNG ファイルの最初の部分の抜粋です。
8950 4e47 0d0a 1a0a 0000 000d 4948 4452
0000 02e7 0000 0155 0806 0000 004c ed41
2b00 0000 0662 4b47 4400 ff00 ff00 ffa0
bda7 9300 0000 0774 494d 4507 d907 1209
3738 0601 8766 0000 2000 4944 4154 789c
ecbd 799c 6567 5de7 fff9 3ef7 5675 279d
a4b3 d008 1242 2288 c486 10e8 ee74 57a7
bb53 28a2 202e a8c1 0d07 d780 a8a3 8338
fc04 c601 45dc 1750 5161 1670 e437 0e71
5c90 4504 a549 77ba 7a65 0f20 8681 8140
423a 2b49 7aa9 aafb 7ce7 8fb3 dce7 3ce7
ファイル内の空白を削除することで、いくらかのスペースを節約できるようです。それが PNG の最適化手法になるかどうか知りたいです。あるいは、私が知らない 1 つのスペースで区切られた 4 文字のシーケンスを持つことに、何らかの利点や目的があるのかもしれません。
答え1
空白はファイル内にありません。あなたが見ているのは文章– 16進数のリストです数字数字は真ん中にスペースがあってもなくても同じです。だから4バイト89 50 4e 47
これらをまたは89504e47
またはあるいは と書くかどうかは(137, 80, 78, 71)
あなた次第です�PNG
。
おそらく、Sublime Text がファイルの内容をテキストとして適切に表示できないことを検出したために、このような表示になっているのでしょう。そのため、各バイトを 2 つの 16 進数として表示する代替表現が選択されます。(よりわかりやすい例については、こちらを参照してください。プラグイン(SublimeText用)
それを思い出します毎ファイルはバイトで構成され、バイトは10進数で0から255(16進数で0からFF)の数字です。テキストエディタは一般的に各バイトを文字として表示しますが、それが唯一の方法ではありません。