JPEG 元数据的最大大小是多少?

发布于 2024-09-10 12:41:12 字数 84 浏览 6 评论 0原文

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

Is there a theoretical maximum to the amount of metadata (EXIF, etc) that can be incorporated in a JPEG file? I'd like to allocate a buffer that is assured to be sufficient to hold the metadata for any JPEG image without having to parse it myself.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

栀子花开つ 2024-09-17 12:41:12

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

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

There is no theoretical maximum, since certain APP markers can be used multiple times (e.g. APP1 is used for both the EXIF header and also the XMP block). Also, there is nothing to prevent multiple comment blocks.

In practice the one that is much more common to result in a large header is specifically the APP2 marker being used to store the ICC color profile for the image. Since some complicated color profiles can be several megabytes, it will actually get split into many APP2 blocks (since each APP block one has a 16bit addressing limit).

舟遥客 2024-09-17 12:41:12

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

Each APPN data area has a length field that is 2 bytes, so 65536 would hold the biggest one. If you are just worried about the EXIF data, it would be a bit less.
http://www.fileformat.info/format/jpeg/egff.htm
There are at most 16 different APPN markers in a single file. I don't think they can be repeated, so 16*65K should be the theoretical max.

情绪 2024-09-17 12:41:12

维基百科指出:

JPEG 图像中 Exif 元数据的大小限制为 64 kB,因为根据规范,此信息必须包含在单个 JPEG APP1 段中。

Wikipedia states:

Exif metadata are restricted in size to 64 kB in JPEG images because according to the specification this information must be contained within a single JPEG APP1 segment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文