6 个版本
0.1.5 | 2019年11月15日 |
---|---|
0.1.4 | 2019年6月6日 |
0.1.3 | 2018年12月26日 |
0.1.2 | 2018年7月22日 |
0.1.0 | 2018年3月23日 |
#394 在 压缩
458 每月下载量
在 8 个crate(3个直接使用) 中使用
1MB
9K SLoC
压缩
由纯 Rust 实现的压缩库。
[dependencies]
compression = "0.1"
功能
-
deflate
- 默认启用。 -
gzip
- 默认启用。 -
zlib
- 默认启用。 -
bzip2
- 默认启用。 -
lzhuf
- 默认禁用。 -
lzss
- 默认启用。 -
std
- 默认情况下,compression
依赖于 libstd。但是,它可以配置为使用不稳定的 liballoc API,用于在具有 liballoc 但没有 libstd 的平台上使用。此配置目前是不稳定的,并不保证在 Rust 的所有版本上都能工作。要在不使用 libstd 的情况下依赖compression
,请在 Cargo.toml 的compression
部分使用 default-features = false 来禁用其 "std" 功能。
示例
use compression::prelude::*;
fn main() {
let compressed = b"aabbaabbaabbaabb\n"
.into_iter()
.cloned()
.encode(&mut BZip2Encoder::new(9), Action::Finish)
.collect::<Result<Vec<_>, _>>()
.unwrap();
let decompressed = compressed
.iter()
.cloned()
.decode(&mut BZip2Decoder::new())
.collect::<Result<Vec<_>, _>>()
.unwrap();
}