我有一个文件,我想压缩成一个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
文件,收件人不是另一种存档格式。
答案 0 :(得分:1)
我预计
9.zip
档案要小得多,我做错了什么?
你所做错的是期望最高级别的zlib压缩能够在最佳中等水平上提供显着的压缩。这根本不是真的,可以凭经验证明。高度可压缩的数据已经在第6级很好地压缩非常,并且不可压缩的数据不会从第9级以任何明显的方式受益。
如果你真的想要压缩它,那么你可以使用针对Zopfli构建的zip工具而不是zlib,但是期望压缩需要更长时间。