rar、zip、7z等压缩率的测试
文章目录
- 原理记录
- 测试过程
- 结论
原理记录
划重点: 压缩率取决于文件的信息熵,文件的信息熵越小,被压缩后的文件体积越小,因此文件压缩有一定的限度。
举个栗子(仅说明原理,不涉及实际算法):
一个文件内容为:abc123qqqq6562abc123abc123abc123
压缩时,令1=abc123,这个对应关系即所谓的字典
,则压缩后文件变为1qqqq6562111,解压即还原过程。
一些文本文件之所以能被压缩的很小,是由于文件内容有很多内容是重复的,可以被替代掉,这也解释了为什么很多代码的压缩包只有几十兆,而解压后却能达到几个G的大小。
测试过程
测试文件信息:
包含一个mp4视频的文件夹
- zip
使用360ZIP,参数设置如下:
- rar
rar格式已申请专利,所以相关产品属于付费产品,使用winrar,参数设置如下:
- 7z
使用7z-zip,参数设置如下:
结论
结果对比:
使用7z-zip,压缩算法为LAMA,得到如下结果:
由对比结果可见:压缩算法的选择,对压缩率影响很大,同样的zip,使用LAMA算法也可以达到7z相同的效果!
参考文献:
如何压缩文件到最小(压缩参数调整教程 for 7z)
rar、zip、7z等压缩率的测试相关推荐
- android解压rar方法,安卓手机如何解压rar/zip/7z等压缩包 详细图解教程
由于宅男吧论坛的资源大部分是通过 不过教程最后,关于(7z.001.7z.002之类的分卷文件),像这种分卷文件, 当时想着软件都是"教科式"操作,应该一看就会用了,可是依旧有部分 ...
- gz rar zip 7z bz2 tgz压缩率比较,以及做一些简单的关于压缩包介绍
经过我自己的测试和网上的一些解释,压缩率比较为: zip<gz(tar.gz tgz)<rar<bz2<7z 一些简单的说明: .tar只是一种打包,无压缩 .tgz是tar. ...
- Linux最全解压命令(*.tar *tar.gz *.gz *.tar.bz2 *.bz2 *tar.xz *.xz *tar.Z *.Z *.rar *.zip *.7z *.7za)
压缩解压命令 (这里重点介绍tar命令,它是一个打包程序,它可 以调用其它的命令,如:gzip bzip2.除此之外还有 rar zip命令) 注:无特殊说明**/代表文件夹,*/代表次一级文件夹 * ...
- Java批量高效压缩支持加解密支持所有压缩格式(Zip/7z/rar)
前言:有时候需要对很多文件进行压缩,几个还好如果有100个呢对吧,为什么不借助咱们强大的java呢,所以我就写了一个可以批量压缩,支持所有压缩格式的工具类当然也支持加密和解密,下面就是工具类的代码 废 ...
- 详细介绍zip、rar、7z的不同以及优势
在现在最常见的压缩文件有zip.rar.7z三种,它们都有各自的优点和缺点.我们用一句话来概括一下:7z压缩率最高,RAR安全性高,ZIP使用范围广. 文件压缩打包是最为常见的一种分享方式了,而众多的 ...
- 7z rar zip之间的区别
7z一般对应的软件是7zip zip对应的是winzip rar对应的 winrar 只不过现在这几个软件基本互相支持. 7z压缩比率大些.zip次之.zip格式比较常见支技泛围广.windows操作 ...
- RAR Extractor - WinRAR ZIP 7Z Mac文件解压软件
RAR Extractor - The Unarchiver Mac是一款支持Rar,Zip,Tar,7-zip,exe,jar等多种格式压缩文件进行解压的文件解压软件,您可以使用RAR Extrac ...
- PHP 解压带密码的压缩包(ZIP|7Z|RAR等)
因为平常经常要解压很多带密码的压缩包,索性想写个程序自动去密码本拿来解压 用了下go 结果go不支持解压带密码的 所以拿起老本行php来做,但原生拓展只有zip( ZipArchive)或者RAR没 ...
- java解析压缩文件,支持zip,rar,7z压缩格式
最近项目有需求对压缩文件进行解析,需要支持市面上比较流行的压缩格式,诸如zip,rar,7z: 由于压缩文件解析比较常见,特将代码整理出来,供后续参考学习: 以下是java代码: maven依赖: & ...
最新文章
- CentOS的el5, el6, el7代表什么
- python【数据结构与算法】各进制转换-使用内置函数
- zend studio让编译器导入项目为utf-8如何设置
- 8.Java格式化输出
- anuglar.js ui-router传递参数
- ASP中如何在退出一个页面时自动清空session变量
- 使用普通asp.net编程方式开发WAP应用的可行性
- 42Exchange 2010升级到Exchange 2013-证书申请配置
- GMSK的调制与解调
- ydui滚动加载:TypeError: Cannot read property '$emit' of undefined
- Nacos安装讲解教程
- C++ 学生信息管理系统课程设计报告
- python训练自己中文语料库_中文语料库构建过程详细教程
- 分类器交叉验证java_使用交叉验证和F1分数选择SVM参数
- 性能分析之系统资源饱和度
- TCP/IP模型背后的内涵(一)
- 10个有趣且易上手的AI项目(附Python源代码)
- 计算机网络:P3.1-数据链路层(上)
- 【2022最新版】ENSP安装教程
- 我国数字出版产业发展规模[中国新闻出版网]
热门文章
- pyttsx3 快速上手之:语音合成播报
- Trun On ACID(Detlete Update) On Hive
- kali 解压rar
- python educoder苹果梨子_pythoneducoder苹果梨子煮水的功效_苹果梨子汤的功效
- 企业微信应用消息html标签,消息类型及数据格式
- 为什么要配置hosts来本地测试?
- js控制的Flv视频播放器源码下载
- HEALTH_WARN 1 filesystem is degraded,一直在rejoin状态
- Mixpanel使用注意点
- Windows下通过Git上传项目至Github