哥们!见过压缩包吗。
就那种,后缀rar啊zip啊或者什么7z啥的文件,一打开一堆东西的玩意。
哦你也整过压缩包?让我看看你的包。
……
你这压缩包咋干包没压缩啊?!
不想听还麻烦您点一下↑没播放也请您点一下。*(没显示的话按ctrl+F5强制刷新一下)
(教程部分内容来自:https://zhuanlan.zhihu.com/p/185059460)
xdm,最近在想办法给自己硬盘500g学习资料压缩压缩的时候发现压缩效果有一点……不能说效果显著,只能说和没压缩差不多。所以上网找了些压缩包教程,顺便给xdm转过来了。
这边先和xdm说一下,我们这次用的是7zip-zstd版本。如果你是windows,你可以在打开cmd命令行窗口后输入:winget install mcmilk.7zip-zstd 输入完成后回车运行,有一步需要你选择是或否,输入y回车,然后你就安装好了。
默认的安装位置是C:\Program Files\7-Zip-Zstandard 自带中文,但是你得在以管理员身份启动后在工具》选项的系统页面勾选关联,不然开压缩包会麻烦一点。
你如果不想在下面选的话直接点蓝色圈圈加号就行。
好,现在打开压缩包这部分是设置好了。7z默认会在右键菜单添加压缩相关的选项,如果你需要进行压缩,在右键后的菜单界面选择“7-zip zs”中的“添加到压缩包……”。然后你应该看到的是这个界面:
well,这上面的东西第一眼看过去确实很容易让人懵逼。别急哥们,我一个个给你讲讲:
压缩格式:指的是文件在执行压缩后的文件格式。如果你没有对XP的兼容需求,选择7z就好。他是压缩可选项最多的,同时也是压缩比最高的。
压缩等级:你可以理解为压缩力度,等级越高,压缩的程度的越大,压缩率也就越低。但是时间也会成倍增加。
压缩方法:指文件用什么方法压缩(废话),不同的压缩方法主要在速度和压缩比上不同。我自上而下给兄弟们讲讲:
LZMA/LZMA2:这两的历史是递进的关系,所以在一起讲了。LZMA全名:Lempel-Ziv Markov chain,最早是随7-zip的公布而一同出现的编码格式,通常能够比bzip2、DEFLATE和其他算法获得更好的压缩效果。
LZMA使用一系列压缩技术来实现输出。首先,采用修改版的LZ77算法对数据进行位级别的解析,而不是传统的字节级别。然后,LZ77算法的输出经过算术编码。根据特定的LZMA实现,可以应用更多技术。结果通常比大多数其他LZ变种的压缩比例都要好,这主要是由于采用了位级别的压缩方法,而不是字节级别的压缩。
LZMA2则是在2009年通过7-Zip存档软件的更新引入,其对比LZMA提升了多线程能力和性能,并更好地处理无法压缩的数据,从而实现略微更好的压缩。
LZMA最多只支持2线程,LZMA2最多可到32线程。但是LZMA2在多线程的状态下很吃内存和cpu。
LZMA/LZMA2是在压缩算法上对速度和压缩率都比较好的一种算法,如果不知道选什么,选他们就好。
PPMd:(虽然我很想直接讲这个但是网上全是讲PPM的我也不知道为什么)PPMd是脱胎于PPM的非字典算法,PPM它使用输入中一组先前的符号来预测下一个符号,以减少输出数据的熵。这与字典不同,因为PPM预测下一个符号,而不是尝试在字典中找到下一个符号进行编码。通常将PPM与编码器结合使用,如算术编码或自适应霍夫曼编码。
PPMd在其他方面干不过LZMA两兄弟,但是PPMd对文本类(指记事本一类)压缩有极高的压缩率。如果你需要压缩大量文本类文件可以尝试这个算法。
BZip2:这玩意是1996的老古董了。和上面的PPMd一样为非字典算法。它的工作原理非常简单,但它在速度和压缩比之间取得了非常好的平衡,这使得bzip2格式在UNIX环境中非常受欢迎。首先,对数据应用运行长度编码。接下来,应用Burrows-Wheeler变换。然后,应用移动到前面的变换,旨在创建大量形成运行的相同符号,以供另一个运行长度编码器使用。最后,结果进行霍夫曼编码并包装在一个头文件中。
BZip在压缩率和速度上没有优势,但他的兼容性较好,对32位和64位均可兼容。
Zstandard:(好像是新东西?)zstd是Facebook在2016年开源的新无损压缩算法,优点是压缩率和压缩/解压缩性能都很突出。根据网上数据压缩率不低?并且他是非固实压缩中压缩率最低的一档(非固实压缩会在下文中提到),并且解压缩速度很快。
Brotil:(好嘛也是新东西)Brotil在2015年9月由谷歌发布。这个算法更多是针对http网页上数据的压缩处理。其对web类型文件有专门的特化算法。如果你需要压缩网页代码之类的文件集合,可以试试这个算法。
LZ4:(你怎么也是新东西)LZ4由Yann Collet 在2011年发明,根据网上说法,其在能保证一定压缩率的情况下,它以它无敌的压缩速度和更快的解压速度著称。
LZ5:是对 LZ4 的修改,旨在以更慢的压缩和解压缩为代价获得更好的比率。现在已经被Lizard取代了。
Lizard:是对LZ4的针对性优化,在压缩选项中可分为FastLZ4和LIZv1,其中FastLZ4可以提供更快的解压缩速度,LIZv1则可以提供更低的压缩比。后缀带+Huffman指在压缩时额外添加霍夫曼编码,在一定程度上可以优化压缩效率。
Fast Lzma2:是对LZMA2压缩算法的优化版本,其对比LZMA2所占用的内存大小大幅降低,特别是在大字典的情况下。
字典大小:压缩数据时比较关键的选项之一,这个数值越大压缩率越小,但是占用内存也会指数级上升,压缩时间也会大幅上升。使用时根据你的需求来修改,如果需要速度就选择小字典,如果需要尽可能的小压缩率就选择大字典。一般64mb的字典大小就足够使用了,你也可以在设备允许的情况下使用更大的字典大小。如果你是需要压缩的文件大小比较小的话大字典反而对压缩有不利的影响。
单词大小:英文原文为“fast bytes”,和字典大小类似,在比较高的情况下压缩率可能会更高。但是这个选项对压缩率的影响比较低,正常压缩时不要太小就行。
固实数据:可以理解为将多少的数据打包为一个大文件进行压缩,固实对大量的分散文件有更好的压缩效果,但是固实数据在部分损坏时会连带其他于自己一同被固实的数据损坏,并且如果要单独解压缩其中的一个文件需要把一起被固实的部分一起解压缩。非固实数据在部分损坏只会损坏相关的文件,不会损坏其他文件,并且可以单独解压一个文件。
cpu线程数:线程越多速度越快,但是需要的内存空间越大。
分卷大小:按照选择的大小分割压缩文件,解压需要将全部压缩出的文件放在一个文件夹来解压
创建自释放程序:在压缩完成后建立一个exe文件,打开即可进行解压缩。
压缩共享文件:勾选后会对文件夹中正在被其他应用程序使用的文件也进行压缩(不勾选会提示“该文件正在被其他应用程序使用”并且不会压缩到压缩文件中)。
加密:对压缩包添加加密,解压缩的时候需要输入密码才能解压缩。
调整完参数后点击确认就可以开始压缩了,根据需要压缩的文件数量和选择参数时间会有一定不同。
以后别干包不压了谢谢。