ZIP文件比较

时间:2015-01-29 20:08:31

标签: zip compression

我正在尝试验证两个ZIP文件是否具有相同的内容。我假设如果我解压缩并立即重新压缩一组文件(使用相同的zip函数),zip文件应该是相同的。它们看起来并不完全相同。 sha256sums是不同的,它们似乎是不同的。我解压缩了这两个新的zip文件,内容完全相同。   为什么两个相同的文件/目录集的zip文件不相同?

2 个答案:

答案 0 :(得分:1)

正如您所发现的,这是一个完全错误的假设。如果要知道内容是否相同,则应比较未压缩的内容。您还可以查看条目名称,长度和CRC以获得高概率验证,而无需解压缩。

由于多种原因,zip文件可能不同。 zip文件中文件的顺序不必相同。文件的修改日期存储在zip文件中,因此如果它们没有恢复,它们将是不同的。可以使用不同的压缩级别或不同的压缩软件(甚至只是同一软件的不同版本),从而产生不同的输出。可以选择不同的压缩方法。不同的文件元数据(权限等)或其他额外字段可以包含在一个zip文件中,但不包括在另一个zip文件中,例如, Unix权限。可以使用zip格式的不同变体,例如, ZIP64。名单还在继续。

答案 1 :(得分:0)

zip格式支持不同的压缩级别,可能存储文件属性(如文件时间戳),因此必须这样做。