是否有适用于Rust的gzip库?

时间:2014-07-08 13:58:42

标签: gzip zlib rust gz

我的搜索结果已发现:

flate库,基于miniz。编辑:正如Mark Adler所指出的,这是一个zlib库,但不处理gzip头文件。

Snappy bindings,不能在现代Rust上编译。

2 个答案:

答案 0 :(得分:4)

flate生成并处理raw和zlib包装的deflate流。一个gzip流,就是gunzip,zcat等工作的,是一个 gzip-wrapped deflate流。如果你想使用flate,那么你需要先处理gzip头,然后使用flate解压缩deflate数据,然后处理gzip预告片。 RFC 1952中记录了gzip头和尾部。

答案 1 :(得分:3)

修改:现在有flate2libflatedeflate


所以我结合了dbaupp和Mark Adler的建议,并创建了一个gzip-decompressor:https://github.com/alexcrichton/rust-compress/pull/30

然而,事实证明Crichton先生已经写了一个gzip图层:https://github.com/alexcrichton/flate2-rs

目前,存在这两种选择;还有待观察的是最终的标准Rust解决方案。