.png文件的前八个字节是否有声明的含义?

时间:2016-03-23 22:42:45

标签: encoding png

我正在阅读代码,并在其中看到以下评论部分:

            // We need to determine if the image is a PNG or a JPEG
            // PNGs are easier to detect because they have a unique signature (http://www.w3.org/TR/PNG-Structure.html)
            // The first eight bytes of a PNG file always contain the following (decimal) values:
            // 137 80 78 71 13 10 26 10

如果我查看ASCII码,我会收到以下文字:

  

ëPNG♪◙→◙

PGN非常清楚。是否有其他部分的解释?

1 个答案:

答案 0 :(得分:3)

来自PNG规范(https://www.w3.org/TR/PNG-Rationale.html#R.PNG-file-signature

在ASCII中,它是:\ 211 P N G \ r \ n \ 032 \ n

前两个是确保它被识别为PNG(非ASCII字符和P),后面的换行符是为了防止错误的文件传输而后二个(CTRL-Z)字符阻止DOS显示文件内容和最后一个换行符与第一个换行符序列

的原因相同