2015-08-08 103 views
5

目前我正在開發一個簡約的ZIP 2.0庫。ZIP檔案評論

爲了符合「閱讀f * ckin手冊!」的口號,我閱讀了PKWARE的appnote,所以我知道只包含「中央目錄記錄結束」的ZIP存檔被認爲是空的。該記錄最後定義了一個可變大小的「歸檔註釋」,這就是爲什麼在加載中央目錄時必須向後掃描搜索簽名「PK \ 5 \ 6」的原因。這給我留下了兩個問題:

1)當用戶嘗試添加包含此序列的歸檔註釋時,應該怎麼做?

2)是否允許空檔案發表評論? (WinRAR是無法表現出來歸檔時是空的,而7-Zip是)

UPDATE:與Roshal所有先生的WinRAR的主要開發者

我有電子郵件聯繫。他確認2)是WinRAR中的一個bug,現在已經修復。

回答

0

ZIP文件格式不指定對文件註釋或zipfile註釋的內容有效的內容。他們的文檔在一個地方將該評論描述爲「文本信息」,但在其他地方,該評論被描述爲「數據字節」,並且該appnote本身沒有對評論中的內容發表任何評論。

但是,即使規範確實允許在評論中允許任意二進制數據,但這並不意味着您必須允許它使用您的庫,並且如果您選擇允許它,那並不意味着您必須讓它變得容易。

因此,下面是處理評論的可能方式的列表。選一個。

  1. 拒絕允許評論中的二進制數據。
  2. 允許二進制數據,但拒絕允許特定的簽名。
  3. 允許任意的二進制數據,但要求用戶提供某種額外的確認,如果他們試圖包含簽名。
  4. 允許任意二進制數據,不用擔心簽名。

當然,對於可以嵌入簽名的任何選項來說,文檔應警告用戶這樣做會導致無效的ZIP文件。