|0.3.0||Jan 4, 2023|
|0.2.0||May 2, 2021|
|0.1.4||May 2, 2021|
|0.1.3||May 5, 2020|
|0.1.0||Jan 7, 2018|
#30 in Compression
29,738 downloads per month
Used in 49 crates (28 directly)
This project is a decoder for LZMA and its variants written in pure Rust, with focus on clarity.
It already supports LZMA, LZMA2 and a subset of the
.xz file format.
let filename = "foo.xz"; let mut f = std::io::BufReader::new(std::fs::File::open(filename).unwrap()); // "decomp" can be anything that implements "std::io::Write" let mut decomp: Vec<u8> = Vec::new(); lzma_rs::xz_decompress(&mut f, &mut decomp).unwrap(); // Decompressed content is now in "decomp"
For now, there is also a dumb encoder that only uses byte literals, with many hard-coded constants for code simplicity. Better encoders are welcome!
Pull-requests are welcome, to improve the decoder, add better encoders, or more tests. Ultimately, this project should also implement .xz and .7z files.