2013-07-03 43 views
0

JPG文件可以通過FF FE標記包含文本註釋。我對此有幾個問題:JPG文件中的文本註釋如何工作?

  1. 如何指定評論的長度?如果註釋位於文件末尾,是否可以不指定長度?

  2. 是否有可能有一個有效的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) 
+1

註釋的長度被指定的方式與其他元數據的JPEG的長度相同。跳過這個長度是不可能的,因爲它是JPEG標籤結構的一部分。我不確定JPEG文件是否被認爲是有效的,如果它缺少圖像數據;它取決於具體的軟件作者是否會被拒絕。 – BitBank

+0

@BitBank謝謝,能否詳細說明一下(指定的長度如何),並將其添加爲答案? – mafu

回答

2

1:大多數JPEG段包含一個2字節標記(0xFFFE在COM的情況下),接着是段長度(2個字節)。見JPEG syntax and structure (Wikipedia)

2:只有表格(僅限DHT和DQT段)JPEG纔有效,沒有圖像數據。我不確定沒有表格和圖像數據,但至少您不需要圖像數據。不知道多麼有用它,或者如何最JPEG軟件會,雖然它解釋....

1

JPEG元數據存儲在標籤結構如下:

0xFF的 - 標籤引導
0XXX - 標籤值
0XXX 0XXX - 在大端順序標籤長度,包括長度的長度(2)
<標籤數據(長度爲2個字節)>

這種結構要求每個標籤可以包含最多65534個字節的元數據。對於較大的結構,真實長度值存儲在標籤數據中,多個標籤包含整個結構。

評論標記的示例。它包含一個零終止符,但這不是必需的。

FF FE 00 08 48 45 4C 4C 00 4F - 「HELLO」