JPG文件中的文本注释如何工作?

时间:2013-07-03 11:51:37

标签: header jpeg file-format

JPG文件可以通过FF FE标记包含文本注释。我对此有几个问题:

  1. 如何指定评论的长度?如果评论位于文件的末尾,是否可以不指定长度?

  2. 是否可以拥有一个有效的jpg文件而没有只包含注释的图像?这样的文件在二进制文件中会怎么样?我假设它会是:

  3. FF D8    - SOI: start of image (note that no frame data follow)
    FF D9    - EOI: end of image
    FF FE    - COM: text comment
    (binary) - (text)
    

2 个答案:

答案 0 :(得分:2)

1:大多数JPEG段包含2字节标记(在COM情况下为0xFFFE),后跟段长度(2字节)。请参阅JPEG syntax and structure (Wikipedia)

2:只有一张表(只有DHT和DQT段)JPEG,没有图像数据是有效的。我不确定没有表格或图像数据,但至少你不需要图像数据。不确定它是多么有用,或者大多数JPEG软件会如何解释它......

答案 1 :(得分:1)

JPEG元数据存储在标记结构中,如下所示:

0xFF - 标签介绍人
0xXX - 标记值
0xXX 0xXX - 以big-endian顺序的标签长度​​,包括长度(2)的长度 <标签数据(长度为2个字节)>

此结构要求每个标记最多可包含65534个字节的元数据。对于较大的结构,真实长度值存储在标签数据中,多个标签包含整个结构。

评论标记的示例。它包括一个零终止符,但这不是必需的。

FF FE 00 08 48 45 4C 4C 4F 00 - “HELLO”