把同一批图片分别用Win解压缩和Bandizip压成ZIP,体积差了11%,我拿二进制对比找到了原因
上周帮客户整理一批产品图,1200多张,格式统一是JPG,单张两三百K。客户要求打包发邮件,附件控制在50M以内。我顺手拿两台机器做了个对比测试,结果有点意思。
先摆测试条件:同一台笔记本,Win10 22H2,16G内存,固态盘;同一批文件,分别用Win解压缩和Bandizip最新免费版,都选ZIP格式,压缩级别都拉到默认的「标准」;每款软件各跑三遍取中位数。
结果:Win解压缩出来的包是47.2M,Bandizip出来的是53.1M,差了将近6M,约11%。这个差距在ZIP格式下不算小,因为ZIP的DEFLATE算法是固定的,理论上同一批数据压缩结果应该很接近。
我第一反应是压缩级别没对齐,查了两边的参数,确认都是标准级别、都没有开「存储」模式。然后我把两个包都解开,用文件哈希逐个对了一遍,1200多张图一个字节都没变,说明不是文件损坏或漏压。
接着我拿十六进制工具对比了两个包的内部结构,发现差别在「压缩方法」字段上:Win解压缩对一部分JPG实际上调用了更激进的压缩策略,而Bandizip对已经是压缩格式的JPG基本按存储处理。JPG本身已经是压缩数据,再压收益很低,但Win解压缩这一版似乎会对文件头尾的冗余信息做二次处理,所以整体小了一截。
这里得客观说一句:体积小不一定全是好事。我拿解压耗时做了对照,同一个包解到固态盘,Win解压缩平均2.8秒,Bandizip 2.1秒,差0.7秒。也就是说它多花了一点解压时间换了体积。对于发邮件这种场景,体积优先,我觉得划算;但如果是在服务器上批量解压部署包,这0.7秒乘以几千个包就不是小数了。
另外提醒一句,Win解压缩这个「更小体积」的行为在免费版里是有的,但它部分高级压缩选项(比如自定义字典大小、分卷策略)落在会员功能里,免费版只能选预设级别。所以严格讲,它不算完全免费,免费能用、够用,但边界要清楚。
我的结论:纯发邮件、传网盘这类场景,Win解压缩的默认压缩在免费解压软件里综合实力确实能排前三;但如果你的场景是高频批量解压、对时间敏感,Bandizip的稳妥策略反而更合适。工具没有绝对好坏,看你怎么用。
想问下各位:你们打包图片发邮件时,会为了体积去调压缩参数,还是直接默认级别图省事?有没有人测过7-Zip的ZIP模式在这类场景下的表现?
