文章目录
原理记录测试过程结论
原理记录
划重点: 压缩率取决于文件的信息熵,文件的信息熵越小,被压缩后的文件体积越小,因此文件压缩有一定的限度。
举个栗子(仅说明原理,不涉及实际算法):
一个文件内容为:abc123qqqq6562abc123abc123abc123
压缩时,令1=abc123,这个对应关系即所谓的字典,则压缩后文件变为1qqqq6562111,解压即还原过程。
一些文本文件之所以能被压缩的很小,是由于文件内容有很多内容是重复的,可以被替代掉,这也解释了为什么很多代码的压缩包只有几十兆,而解压后却能达到几个G的大小。
测试过程
测试文件信息: 包含一个mp4视频的文件夹
zip 使用360ZIP,参数设置如下:
rar rar格式已申请专利,所以相关产品属于付费产品,使用winrar,参数设置如下:
7z 使用7z-zip,参数设置如下:
结论
结果对比:
使用7z-zip,压缩算法为LAMA,得到如下结果:
由对比结果可见:压缩算法的选择,对压缩率影响很大,同样的zip,使用LAMA算法也可以达到7z相同的效果!
参考文献: 如何压缩文件到最小(压缩参数调整教程 for 7z)