2010-07-14 205 views
5

对于可以合并到JPEG文件中的元数据量(EXIF等)是否存在理论上的最大值?我想分配一个缓冲区,该缓冲区足以保存任何JPEG图像的元数据,而无需自己解析它。JPEG元数据的最大大小是多少?

回答

9

由于某些APP标记可以多次使用(例如APP1既用于EXIF标头也用于XMP块),因此没有理论上的最大值。此外,没有什么可以阻止多个评论块。

实际上,导致大头文件更为常见的方法是使用APP2标记来存储图像的ICC颜色配置文件。由于一些复杂的颜色配置文件可能是几兆字节,它实际上会被分割成许多APP2块(因为每个APP块有一个16位寻址限制)。

3

每个APPN数据区的长度字段都是2个字节,因此65536将保持最大的一个。如果你只是担心EXIF数据,那会少一点。
http://www.fileformat.info/format/jpeg/egff.htm 单个文件中最多有16个不同的APPN标记。我不认为它们可以重复,因此16 * 65K应该是理论上的最大值。

+0

谢谢edgman。它看起来像一些标记有效地固定到小于64K的长度,因此可以计算出较低的理论界限,但您的粗略计算足够满足我的目的。 – darrinm 2010-07-15 23:08:27

+1

格雷森朗的答案是正确的。没有什么可以防止同一个标记的多个块。 – 2014-03-19 07:26:11

+0

在linux上,wrjpgcom和rdjpgcom工具非常有用......这是我最终推送大量文本数据的地方。 – phyatt 2017-03-16 15:18:45

相关问题