目前我正在开发一个极简主义的ZIP 2.0库。
按照“阅读f * ckin'手册!”的座右铭,我读了PKWARE的appnote,所以我知道只包含“中央目录记录的结尾”的ZIP存档被认为是空的。此记录最后定义了一个可变大小的“归档注释”,这就是为什么在加载中心目录时必须向后扫描以搜索签名“PK \ 5 \ 6”的原因。这让我有两个问题:
1)当用户尝试添加包含此序列的存档注释时,我该怎么办?
2)是否允许空档案发表评论? (当存档为空时,WinRAR无法显示,而7-Zip是
)更新:
我已经与WinRAR的首席开发人员Roshal先生进行了电子邮件联系。他确认2)是WinRAR中的一个现已修复的错误。
答案 0 :(得分:0)
ZIP文件格式未指定对文件注释或zipfile注释的内容有效的内容。在一个地方,他们的文档将评论描述为"文本信息",但在其他地方,评论被描述为"数据字节",并且appnote本身没有说什么关于什么可以发表评论。
但是,即使规范 允许评论中的任意二进制数据,这并不意味着您必须允许它使用您的库,如果您选择允许它,这并不意味着你必须让它变得容易。
因此,这里列出了处理评论的可能方式。选择一个。
当然,对于可能嵌入签名的任何选项,文档应警告用户这样做会导致无效的ZIP文件。