6个版本

0.2.0 2023年11月29日
0.1.6 2023年5月6日
0.1.5 2023年4月9日
0.1.4 2021年6月25日
0.1.1 2020年3月24日

#89 in 压缩

Download history • Rust 包仓库 11326/week @ 2024-04-23 • Rust 包仓库 12347/week @ 2024-04-30 • Rust 包仓库 11579/week @ 2024-05-07 • Rust 包仓库 9026/week @ 2024-05-14 • Rust 包仓库 9490/week @ 2024-05-21 • Rust 包仓库 9624/week @ 2024-05-28 • Rust 包仓库 9649/week @ 2024-06-04 • Rust 包仓库 10559/week @ 2024-06-11 • Rust 包仓库 10735/week @ 2024-06-18 • Rust 包仓库 12025/week @ 2024-06-25 • Rust 包仓库 14167/week @ 2024-07-02 • Rust 包仓库 22256/week @ 2024-07-09 • Rust 包仓库 24674/week @ 2024-07-16 • Rust 包仓库 20270/week @ 2024-07-23 • Rust 包仓库 20167/week @ 2024-07-30 • Rust 包仓库 20823/week @ 2024-08-06 • Rust 包仓库

90,802 每月下载
用于 14 个crate (7 个直接)

MIT/Apache

130KB
3K SLoC

Yazi - 另一个zlib实现

Yazi是RFC 1950 DEFLATE规范的纯Rust实现,支持zlib包装器。它提供流式压缩和解压缩。

Crates.io Docs.rs MIT licensed

使用

以下示例展示了如何压缩和解压缩内存缓冲区

use yazi::*;
// Your source data.
let data = &(0..=255).cycle().take(8192).collect::<Vec<u8>>()[..];
// Compress it into a Vec<u8> with a zlib wrapper using the default compression level.
let compressed = compress(data, Format::Zlib, CompressionLevel::Default).unwrap();
// Decompress it into a Vec<u8>.
let (decompressed, checksum) = decompress(&compressed, Format::Zlib).unwrap();
// Verify the checksum.
assert_eq!(Adler32::from_buf(&decompressed).finish(), checksum.unwrap());
// Verify that the decompressed data matches the original.
assert_eq!(data, &decompressed[..]);

有关更高级使用的详细信息,请参阅完整的API 文档

无运行时依赖