2015-08-08 78 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文件。