我希望我的程序能够使用 zlib、lzma、lzo 和 bzip2 压缩算法。
是否有任何 C 压缩库可以简化使用多种算法(例如支持多种加密模式和算法的 libmcrypt)?
期待这样的事情:
struct compressor c;
universal_compressor_init(&c, "lzma", 7 /* compression level */);
universal_compressor_compress(&c, inputbuf, inputsize, outputbuf, &outputsize);
universal_compressor_save_state(&c, statebuf, &statesize);
注意:这不是关于 zip/rar/7z/tar/cpio 和其他存档格式,而是关于原始缓冲区的压缩。想想压缩网络协议或随机访问压缩块设备(如cloop)。