将 1GB 的文件压缩成 200_MB?

将 1GB 的文件压缩成 200_MB?

所以我刚刚下载了适用于 Windows 64 位的 MySQL211.9MB但当我提取它时它现在是1.05GB。他们是怎么做到的?他们的档案一点都没有损坏,也没有被破坏。

之前(压缩后):

之后:(未压缩):

我简直惊呆了,我认为这是不可能的。WinRar 的存档信息:

答案1

使用的压缩率可能取决于要压缩的文件。包含一百万个“ABC”的文本文件可能具有非常好的压缩率。此外,他们可能选择了良好的压缩算法和最高的设置。

答案2

放气是最常用的压缩算法之一。它在数据中搜索模式并将其存储在字典中。文件越“重复”,压缩率就越高。可以找到该算法的非常好的解释这里

答案3

不同的文件可以压缩成不同的大小。
例如,如果压缩位图或文本文件,则压缩效果会更好。
这还取决于压缩程序及其压缩方法(只需使用7Zip代替压缩包你会发现它的压缩效果好多了)。

最近我发现克格勃档案室,这可能是当今最好的高压缩工具。
我简直不敢相信这个文件的大小~1GB可以压缩对于一些 MB,但它可以做到!
所以 19% 的压缩存档与它相比似乎不算什么 ;)
它使用问题6算法,因此需要大量的 CPU 和 RAM 来压缩。
现在它是一个开源项目,位于 SourceForge。您可以下载它这里

答案4

您的问题启发了我进行一些研究并学习一些有关压缩工作原理的知识。

他们是怎么做到的?基本上,很多史诗数学但有一个基本方法是霍夫曼编码

文件被分成多个块,这些块被排序成,其中最常见的块被赋予树中最短的位置名称。zip 是根据树的描述创建的,后面是重建文件所需的树中的地址列表。有时会使用预先计算的树,这样就无需共享树。程序重复性越高,树就越小,压缩效果就越好。不过,还有更多内容,情况很复杂。

相关内容