Parsing Jfif/jpeg解析,流之间的字节

Parsing Jfif/jpeg解析,流之间的字节,parsing,jpeg,file-format,Parsing,Jpeg,File Format,我正在解析一个Jpeg/JFIF文件,我注意到在SOI(0xFFD8)之后,我解析从0xFFXX(其中XX是十六进制数)开始的不同“流”,直到找到EOI(0XFFD9)。现在,不同块的结构是: APP0 marker 2 Bytes Length 2 Bytes 现在,当我解析a块时,我解析直到我达到写入长度字段的2字节中的长度。在那之后,我想我会立即找到另一个标记,然后是下一块的长度。根据我的解析器,这并不总是正确的,块之间可能有数据。我无法找出数据是什么,以

我正在解析一个Jpeg/JFIF文件,我注意到在SOI(0xFFD8)之后,我解析从0xFFXX(其中XX是十六进制数)开始的不同“流”,直到找到EOI(0XFFD9)。现在,不同块的结构是:

APP0 marker     2 Bytes   
Length          2 Bytes
现在,当我解析a块时,我解析直到我达到写入长度字段的2字节中的长度。在那之后,我想我会立即找到另一个标记,然后是下一块的长度。根据我的解析器,这并不总是正确的,块之间可能有数据。我无法找出数据是什么,以及它是否与图像相关。您是否有任何提示这可能是什么以及如何解释这些字节


我迷路了,如果有人能给我指出正确的方向,我会很高兴的。提前谢谢

我最近也注意到了这一点。在我的例子中,它是一个APP2块,它是ICC配置文件,不包含块的长度

事实上,就我所知,区块的长度不必是前2个字节(尽管通常是这样)

在JFIF中,数据段中的所有0xFF字节都替换为0xFF 0x00,因此只需从中计算长度即可。我只是一直读到找到另一个头,但是我注意到有时(同样在ICC配置文件中)有一些字节序列没有意义,比如0xFF 0x6D,所以我可能仍然缺少一些东西