1

我目前正在阅读有关 PNG 文件格式的信息。事实证明,文件的第一个字节被指定为等于 0x89。

我想知道那个字节值的原因是什么。

我已经了解的格式是第一个字节用于检测 7 位通道上的传输。如果值为 0x80 (1000 0000),这将是有意义的(如果在传输后我们在第一个字节上有 0,则使用 7 位模式并且文件已损坏)。但是 0x89 (1000 1001) 的零位和第三位的位是什么意思?

4

1 回答 1

3

摘自http://www.libpng.org/pub/png/spec/1.2/PNG-Rationale.html#R.PNG-file-signature

前两个字节在期望前两个字节唯一标识文件类型的系统上区分 PNG 文件。第一个字节被选为非 ASCII 值,以减少文本文件被误识别为 PNG 文件的可能性;此外,它还捕获清除位 7 的错误文件传输

所以第一个字节的LSB用于文件类型识别。

于 2015-06-17T13:58:52.890 回答