C ++的压缩库

时间:2009-10-14 00:32:40

标签: c++ compression

我正在读关于程序中的压缩,我开始创建一个新的简单项目,一个拉链(只是一个拉链,而不是一个解压缩器),但我只找到了zLib,而且它是用于C.我知道C库可以是在C ++中使用,但我喜欢使用C ++库。有人知道一个好的建议吗?

最诚挚的问候。

7 个答案:

答案 0 :(得分:11)

您可以使用Boost iostream zlib filter

轻松完成此操作

答案 1 :(得分:6)

我所知道的大多数压缩库都是用C语言编写的,原因有二:一,良好压缩算法的一般时代;第二,C跨平台的高可移植性(和稳定性)。

我建议以下任何一项。如果您想要好的许可证,请选择前两个中的一个,否则如果您愿意使用GPL代码,请选择最后两个中的一个。

答案 2 :(得分:2)

Zlib很好,但你也可以检查LZMA SDK(你可以压缩到.7z格式,除了zip)

答案 3 :(得分:1)

我建议使用zlib。它是为C设计的,但它在C ++中运行良好。

使用本机C ++库实际上只有在库足够大且复杂以至于可以从面向对象设计中受益时才有用。 zlib相对简单,不需要面向对象的功能。

答案 4 :(得分:1)

使用libzip:http://www.nih.at/libzip/许可证非常宽松,它可以满足您的所有需求,包括C或C ++代码。

答案 5 :(得分:1)

强烈建议使用zlib。它写得很好,界面相当干净。我不知道C ++包装器可以简化多少API。此外,在我看来,zlib在(de)压缩速度和文件大小之间实现了良好的平衡。 Bzip2慢得多,而LZO和UCL的压缩比更差。

答案 6 :(得分:0)

这就是我喜欢的(真正快速和良好的压缩率): http://www.quicklz.com/