JPG文件可以通过FF FE标记包含文本注释。我对此有几个问题:
如何指定评论的长度?如果评论位于文件的末尾,是否可以不指定长度?
是否可以拥有一个有效的jpg文件而没有只包含注释的图像?这样的文件在二进制文件中会怎么样?我假设它会是:
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)
答案 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”