文件的最高压缩率(用于网络传输)?

rzl*_*nes 21 compression

我见过一些高度压缩的文件,比如 700MB 的数据压缩到 30-50MB 左右。

但是你如何获得这样的压缩文件呢?我曾尝试使用 WinRAR 和 7Zip 等软件,但从未实现过如此高的压缩率。

有哪些技术/软件可以让您如此出色地压缩文件?

(PS 我使用的是 Windows XP)

Nif*_*fle 13

这完全取决于被压缩的数据。

文本压缩得很好,二进制格式不太好,压缩数据(mp3、jpg、mpeg)根本没有。

这是来自维基百科的一个很好的压缩比较表

  • 一旦你压缩了一些东西,通常不可能让它变得更小。您只需为您的数据选择合适的压缩方法。 (3认同)
  • @GeorgSchölly:那太好了。因为我可以将任何数据转换为文本,例如将每个二进制字节转换为两个十六进制数字显示为文本。这将使我的尺寸增加一倍,但是节省两倍尺寸的 90% 会导致总体节省 80%。(或者,我可以使用 base64 来提高二进制到文本转换的效率。)这是一个令人震惊的好消息!:) (3认同)

izb*_*izb 12

如果压缩数据所花费的时间不是问题,那么您可以通过结合使用几种不同的工具来优化压缩大小。

使用不同的工具(如 7zip、winrar(用于 zip)和 bjwflate)多次压缩数据。

(请注意,这并不意味着反复压缩 zip 文件,而是使用不同的工具创建许多替代 zip 文件)

接下来,对每个存档运行deflopt以稍微减少每个存档。

最后,对档案集合运行zipmix。由于不同的 zip 工具对不同的文件效果更好,因此 zipmix 从每个档案中挑选每个文件的最佳压缩版本,并生成比任何 zip 工具单独生成的输出都小。

但是您应该注意,这并不能保证对您的文件有任何魔力。某些类型的数据根本不能很好地压缩,例如 JPEG 和 MP3。这些文件已经在内部进行了压缩。

  • *多次压缩数据*非常具有误导性。 (7认同)
  • JPEG 和 MP3 未压缩。它们被压缩但未压缩。 (4认同)
  • 这是非常糟糕的建议,尝试按顺序使用多个压缩算法是一个非常糟糕的主意。每个算法都会创建一个压缩文件 + 开销,因此通过使用多个,您实际上是将数据_添加_到您要压缩的数据中 - 就像试图在沙子上挖一个洞,越往深处,沙子越多你。在最大压缩设置下使用单一好的算法会好得多。 (2认同)
  • 我认为您误解了..相同的数据没有被重复重新压缩。相反,您只是在每个文件而不是每个存档的基础上选择最佳的单一算法。 (2认同)

Ale*_*cio 10

以前的答案错了一个数量级!

我有个人经验的最佳压缩算法是paq8o10t(请参阅zpaq页面和PDF)。

提示:压缩 files_or_folders 的命令如下:

paq8o10t -5 archive files_or_folders
Run Code Online (Sandbox Code Playgroud)

在戴尔 Latitude E6510 笔记本电脑(酷睿 i7 M620、2+2 个超线程、2.66 GHz、4 GB、Ubuntu Linux)上的默认设置和最大设置下,存档大小与将 10 GB(79,431 个文件)压缩和提取到外部 USB 硬盘驱动器的时间对比, 酒 1.6)。 来自 10 GB 基准(系统 4)的数据。

来源:增量日志备份实用程序和存档器

您可以在GitHub找到源代码的镜像。


一个稍微好一点的压缩算法,也是Hutter 奖的得主,是 decomp8(见奖品页面上的链接)。但是,没有您可以实际使用的压缩程序。


对于非常大的文件,lrzip可以实现简直可笑的压缩率。

来自 README.benchmarks 的示例:


让我们将一个版本的六个内核树作为一个 tarball,从 linux-2.6.31 到 linux-2.6.36。这些将显示大量冗余信息,但相隔数百兆字节,lrzip 将非常擅长压缩。为简单起见,将仅比较 7z,因为它是目前最好的通用压缩器:

这些是使用 lrzip v0.5.1 在具有 4GB 内存的 2.53Ghz 双核 Intel Core2 上执行的基准测试。请注意,它使用 32 位用户空间运行,因此只能使用 2GB 寻址。然而,基准测试是使用 -U 选项运行的,允许将整个文件视为一个大压缩窗口。

6 个连续内核树的压缩包。

Compression    Size                 Percentage      Compress    Decompress
None           2373713920           100             [n/a]       [n/a]
7z             344088002            14.5            17m26s      1m22s
lrzip          104874109            4.4             11m37s      56s
lrzip -l       223130711            9.4             05m21s      1m01s
lrzip -U       73356070             3.1             08m53s      43s
lrzip -Ul      158851141            6.7             04m31s      35s
lrzip -Uz      62614573             2.6             24m42s      25m30s
Run Code Online (Sandbox Code Playgroud)

  • 它经过优化可提供最大压缩比,但速度比接近的竞争者慢得多。 (2认同)
  • @Eric J. 是的,但问题没有指定压缩/解压缩的速度;) (2认同)