6 releases
| 0.1.5 | Nov 15, 2019 |
|---|---|
| 0.1.4 | Jun 6, 2019 |
| 0.1.3 | Dec 26, 2018 |
| 0.1.2 | Jul 22, 2018 |
| 0.1.0 | Mar 23, 2018 |
#368 in Compression
233 downloads per month
Used in 9 crates
(4 directly)
1MB
9K
SLoC
compression
Compression libraries implemented by pure Rust.
[dependencies]
compression = "0.1"
Features
-
deflate- Enabled by default. -
gzip- Enabled by default. -
zlib- Enabled by default. -
bzip2- Enabled by default. -
lzhuf- Disabled by default. -
lzss- Enabled by default. -
std- By default,compressiondepends on libstd. However, it can be configured to use the unstable liballoc API instead, for use on platforms that have liballoc but not libstd. This configuration is currently unstable and is not guaranteed to work on all versions of Rust. To depend oncompressionwithout libstd, use default-features = false in thecompressionsection of Cargo.toml to disable its "std" feature.
Examples
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();
}