#解压缩 #lzma #文件格式

lzma-rs-perf-exp

纯Rust编写的LZMA、LZMA2和XZ编解码器,包含性能实验

1个不稳定版本

0.2.1 2022年8月9日

665压缩

Download history 54/week @ 2024-03-15 43/week @ 2024-03-22 84/week @ 2024-03-29 37/week @ 2024-04-05 67/week @ 2024-04-12 78/week @ 2024-04-19 68/week @ 2024-04-26 122/week @ 2024-05-03 56/week @ 2024-05-10 56/week @ 2024-05-17 59/week @ 2024-05-24 42/week @ 2024-05-31 51/week @ 2024-06-07 72/week @ 2024-06-14 89/week @ 2024-06-21 50/week @ 2024-06-28

276 每月下载量
用于 2 个crate(通过chd

MIT 许可证

130KB
3K SLoC

lzma-rs-perf-exp

Crate Documentation Safety Dance Build Status Minimum rust 1.51

这是一个纯Rust编写的LZMA及其变体的解码器项目,注重清晰性。它已经支持LZMA、LZMA2和部分.xz文件格式。

此分支为chd-rs提供了一些(API不稳定的)性能实验,可能会逐步合并到上游。API可能会更改,而无需相应的SemVer兼容版本升级。

用法

解压缩一个.xz文件。

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"

编码器

目前,还有一个使用字面量字节的简单编码器,为了代码简单性,有很多硬编码的常量。欢迎提供更好的编码器!

贡献

欢迎提交拉取请求,以改进解码器、添加更好的编码器或更多测试。最终,此项目还应实现.xz和.7z文件。

许可证

MIT

依赖项

~0.2–8MB
~55K SLoC