您能否推荐我一个通用的无损文件压缩器,它比标准ZIP压缩更节省空间?当然,压缩效果越好……

它应该满足以下附加条件:


压缩文件和目录(可以包含内部目录结构) )。
应设计成输入文件大小在1到200 MB之间的高效文件。
密码保护不错,但可选。
压缩文本和媒体文件(MP3,EXE) ,电影,照片),而在大多数情况下不会使其变大。
免费使用。
压缩文件所花费的时间不是很重要的标准,只要它能在“合理的”时间(我的意思是,在几百兆输入数据的情况下,在一台典型的台式计算机上花几个小时可能就可以了,但是数百年可能是不可接受的。)
跨平台(Windows, Linux和OS X)是首选,但不是必需的。

由于我正在寻找一种更节省空间的东西,因此如果将您的建议与s进行比较会很酷。标准的ZIP压缩。

注意:我并不是要“最好的”工具。我正在寻找的是符合提到标准的“比ZIP更有效率的工具”。最后,我将自己决定我最喜欢“哪些”推荐。

评论

在meta上讨论了这个问题:meta.softwarerecs.stackexchange.com/questions/185/…

#1 楼

PAQ(此处为官方网站)压缩器非常有效(如压缩文件大小)。它这样做是以牺牲速度和内存使用为代价的(请注意:这仅适用于某些实验性PAQ版本)。

PAQ赢得了哈特奖和卡尔加里挑战赛。

注意:ZPAQ开放式标准日志存档是所有实验性PAQ库的集合。


ZPaQ使用重复数据删除,多线程和一系列压缩算法(LZ77,BWT和上下文混合)来实现高性能。


更新:为ZPAQ构建(使用.Net)GUI封装程序,称为winzpaq。您可以在此处阅读发行说明,并直接从此站点下载最新版本。从此编辑开始,它可以在Windows上运行,但是从发行说明中看来,它也可以在Linux上运行(由于Mono)。


更新:我将介绍标准列表:



压缩文件和目录(可以包含内部目录结构)。





是的,大多数版本的PAQ都可以做到这一点(paq8hp12any是PAQ8hp的专用版本,专门声明它不压缩或创建目录)。



应设计可以有效地处理大约1到200 MB的输入文件。





此基准测试表明,不同的PAQ实用程序能够压缩100 MB的enwik8文本文件(用于大文本压缩基准)降至不到20 MB(而同一基准显示9级压缩的ZIP约为36 MB)。



密码保护很好,但是是可选的。





ZPAQ(实际上,所有实验性PAQ库的高潮(放入通用压缩实用程序中)都支持密码加密(在6.44版的“历史记录”部分中提到过)。



在大多数情况下,压缩文本和媒体文件(mp3,exe,电影,照片)时不会使它们变大。





我找不到提到mp3 / exe / movies,Silesia开源压缩基准针对各种文件类型(Windows DLL,二进制文件,DICOM图像,PDF,ASCII文本)进行了测试,并且各种PAQ库的性能均优于各种zip实用程序。乍一看(有很多数据),文件都比原始文件小(列表底部提供原始文件大小)。还提到了可以在此基准测试中压缩JPG文件。



免费使用。





根据ZPAQ官方网站,zpaq是一个免费且开源的(GPL v3)。



压缩该文件所花费的时间文件不是一个很重要的标准,只要它在“合理的”时间内完成(并且我的意思是,在几百兆的标准台式机上几个小时就可以了)输入数据,但可能不接受几百年。)





速度取决于您使用的PAQ版本。当我一直在探索这些方法以改善此答案时,我注意到ZPAQ库已大大提高了速度,但仍具有一些较慢的实验库的压缩率。基于ZPAQ库,这里有一个很好的基准测试:

以下比较来自10 GB基准测试(在83,437个文件和目录中为10 GB),使用的是Core i7 M620 2.66 GHz上的默认设置,将4 GB备份到Ubuntu Linux中的外部USB硬盘驱动器。

  Archiver    Size     Compress  Extract  License
  --------    -------  --------  -------  ------- 
  zip         4844 MB  1206 sec  229 sec  Free, open source with specification
  rar         4493 MB  1423 sec  239 sec  Commercial, unrar is free and open source
  7zip        3892 MB  6593 sec  472 sec  Free, open source
  freearc     3711 MB  1448 sec  422 sec  Free, open source
  zpaq        3825 MB   379 sec  249 sec  Free, open source with specification


评论


我会说这是一个很好的答案-实际上可能比我的答案更好。我也对此比较感兴趣。可能必须亲自尝试ZPAQ并考虑使用它,如果它性能良好并且基准是正确的,则通常需要7倍时间的1/20才能获得更好的压缩效果。

–尼克·迪金森·威尔德
2014年2月12日20:20在

@ Nick-BriarMoonDesign:我只是第一次尝试ZPAQ(大约五年前,我主要使用PAQ8f)。我对7zip(右键菜单中的默认选项转换为.7z文件)和zpaq(命令行中的默认选项)进行了比较。我尝试压缩我的编程书籍目录(221个文件,8个文件夹,690 MB ...主要是PDF和一些epub)。 7zip-1m 23s-419 MB。 ZPAQ-14秒-423 MB。因此,对于相同的压缩率,ZPAQ更快。

–Jason Down
2014年2月12日在21:50



+1。实际上,我对这种压缩器很感兴趣,并且肯定会自己尝试,它甚至具有C ++ API。感谢您的推荐。

– Ivaylo Slavov
2014-02-18 21:51



@IvayloSlavov:不客气。该工具的作者当然对压缩进行了大量研究。自从我在2006/7年前最初尝试使用它以来,已经走了很长一段路。

–Jason Down
2014年2月19日在2:43

#2 楼

我个人建议使用7z存档格式和LZMA2压缩算法的7-zip。


保持相对的目录结构。
它被设计为功能齐全,文件大小最大为“ 16,000,000,000 GB”(为简单起见,您可以读为16 EB)
高质量的加密-AES-256-因此安全性主要取决于密码的质量。
即使非常不可压缩的文件类型也很膨胀
非常免费。
免费且大多是开源的。
速度很快-像LZMA2那样,大约350MB的音乐(我刚才做的很不错,可以提供很多数字)在合理的压缩率下大约需要4分钟,而LZMA2笔记本电脑(2gb ram,Win7,Intel i7处理器)。

GUI仅支持Windows,但命令行中有可用的linux版本(尽管我还没有亲自使用过-与Windows的cmd行不同)我使用过很多的版本(1))

(1):阅读:测试了数百个用于从pyth提取和压缩的命令在程序上(Wrye Bash)

评论


POSIX cli工具足以满足大多数目的。我会明确建议这样做,因为大多数工具现在都可以提取7z文件,因此大多数人都可以提取它们。

– dtech
2014年2月12日在12:46

请记住,除非7z不会在Linux上保留文件权限,除非他们最近对此进行了修复。

–OneOfOne
2014年8月30日4:56

#3 楼

我想铸造gzip和bzip2。这两种格式在POSIX(例如Linux)系统上非常普遍,几乎可以在所有系统上使用,因此它们也渗入了周围的生态系统(例如MySQL)。

它们都只压缩文件,因此它们都是压缩文件。通常与tar(连接文件)结合使用,产生.tar.gz.tar.bz文件



(两者)在POSIX生态系统中非常常见。
gzip是压缩和解压缩都非常快,与zip相同(均为开源),免费且免费的



(两者)Windows工具的支持充其量不是最佳选择(例如7zip首先将.tar.gz提取到.tar文件中,需要再次提取该文件)
与大多数其他工具相比,gzip的压缩率不是很高,但是比zip更好
bzip2相当慢,与7zip相当。
bzip2的压缩率还可以,与rar相当,但比7zip和其他现代方法差。


评论


为您的最终优势/劣势列表+1!我想在更多答案中看到这一点。

–安吉洛·福克斯(Angelo Fuchs)
2014年2月12日20:49在

#4 楼

PeaZip是一个免费的开源文件和存档管理器,适用于32位和64位Windows和Linux。它可作为可安装和便携式应用程序使用(不需要安装)。

压缩,转换,拆分,加密,安全删除,打开RAR TAR 7Z ZIP ZIPX文件,支持150多种格式。

支持的系统:Windows 9x,Windows NT / 2K / XP,Windows Vista / 7/8(32和64位),ReactOS,Wine。

有关更多信息,请参见SourceForge 。