我目前正在阅读有关 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
前两个字节在期望前两个字节唯一标识文件类型的系统上区分 PNG 文件。第一个字节选择为非 ASCII 值,以减少文本文件被误识别为 PNG 文件的可能性;此外,它还能捕获清除位 7 的不良文件传输
因此第一个字节的LSB用于文件类型识别。