zip -9 压缩不会减小文件大小

Posted

技术标签:

【中文标题】zip -9 压缩不会减小文件大小【英文标题】:zip -9 compression isn't reducing file size 【发布时间】:2016-01-27 23:24:34 【问题描述】:

我有一个文件,我想将其压缩成一个 zip 存档,但该文件会通过 Amazon SES 自动发送,有时电子邮件会因以下原因被拒绝:

这似乎意味着电子邮件大于 10MB 的限制。 zip 存档目前是使用标准 6 级压缩创建的,我想将其更改为使用最大压缩(9 级),但它似乎不会更改存档大小。

原始(6级)命令:

zip standard.zip somefile.txt 
  adding: somefile.txt (deflated 42%)

尝试的(9 级)命令:

zip -9 9.zip somefile.txt 
  adding: somefile.txt (deflated 42%)

结果:

-rw-rw-r-- 1 ec2-user ec2-user 5.0M Jan 27 23:20 standard.zip
-rw-rw-r-- 1 ec2-user ec2-user 5.0M Jan 27 23:19 9.zip

您可能从结果中可以看出,我正在使用 Amazon Linux 的 AWS EC2 实例上运行。

我预计 9.zip 存档会小很多,我做错了什么?

此外,当更改压缩级别对于此过程的用例而言并不是真正的问题时,性能会受到影响。

该文件必须是.zip 文件,收件人没有什么其他存档格式。

【问题讨论】:

【参考方案1】:

我预计 9.zip 存档会小很多,我做错了什么?

您做错了什么是期望最大级别的 zlib 压缩比最佳中等级别提供显着的压缩。这根本不是真的,正如经验所证明的那样。高度可压缩的数据在第 6 级时已经可以很好地压缩非常,而不可压缩数据在第 9 级时没有任何明显的好处。

如果您真的想大量压缩它,那么您可以使用针对 Zopfli 而不是 zlib 构建的 zip 工具,但预计压缩需要更长的时间。

【讨论】:

以上是关于zip -9 压缩不会减小文件大小的主要内容,如果未能解决你的问题,请参考以下文章

MediaMuxer 视频文件大小减小(重新压缩,降低分辨率)

文件与文件系统的压缩和解压缩

PDF大小如何压缩?

实验一

python zipfile解压缩

SQL Server 压缩日志及数据库文件大小