为什么.png文件的第一个字节是0x89?

Why the first byte of .png file is 0x89?

我目前正在阅读有关 PNG 文件格式的信息。原来文件的第一个字节被指定为等于0x89.

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

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

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

The first two bytes distinguish PNG files on systems that expect the first two bytes to identify the file type uniquely. The first byte is chosen as a non-ASCII value to reduce the probability that a text file may be misrecognized as a PNG file; also, it catches bad file transfers that clear bit 7

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