在 JPEG 文件中,exif 元数据是否总是作为第一个标记存储?或者它可以在其他标记之间?
下面有注释说“在APP1 Marker区域之后,其他JPEG Markers跟在后面”。 http://www.media.mit.edu/pia/Research/deepview/exif.html 确认了吗?
谢谢
在 JPEG 文件中,exif 元数据是否总是作为第一个标记存储?或者它可以在其他标记之间?
下面有注释说“在APP1 Marker区域之后,其他JPEG Markers跟在后面”。 http://www.media.mit.edu/pia/Research/deepview/exif.html 确认了吗?
谢谢
规范 (http://www.exif.org/Exif2-2.PDF) 说 - 是的 - APP1 必须先出现,就在 SOI (ffd8) 之后,但有时 APP0 (JFIF) 先出现,就在 APP1 之前。它不能被认为是正确的用法,因为规范 - JFIF 和 EXIF 都规定相应的标记应立即跟随 SOI。但在实践中,事实证明这种情况经常发生,图像编辑器和查看器正确地解释了这种“不正确”的混合文件。
JPEG 文件有两种常见类型:JPEG/JFIF 和 JPEG/Exif。
两种规范(JFIF 和 Exif)都要求它们对应的标题直接出现在 SOI(图像开始)标记之后。
在 JFIF 的情况下,它是一个 APP0 标记,在 Exif 的情况下,它是一个 APP1 标记。
JPEG/JFIF 文件可能在文件后面的某处带有 Exif 块。我注意到从 iPhoto 导出 JPEG/Exif 文件时会发生这种情况。iPhoto 最终将其转换为 JPEG/JFIF 文件,但将 Exif 元数据保留在文件后面的某个位置。
但是,除了相应文件格式的标头必须在前之外,对文件中其他 APP# 标记块的顺序没有限制。因此,Exif 块可以出现在 JPEG/JFIF 文件中的任意位置。