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 11326/week @ 2024-04-23 12347/week @ 2024-04-30 11579/week @ 2024-05-07 9026/week @ 2024-05-14 9490/week @ 2024-05-21 9624/week @ 2024-05-28 9649/week @ 2024-06-04 10559/week @ 2024-06-11 10735/week @ 2024-06-18 12025/week @ 2024-06-25 14167/week @ 2024-07-02 22256/week @ 2024-07-09 24674/week @ 2024-07-16 20270/week @ 2024-07-23 20167/week @ 2024-07-30 20823/week @ 2024-08-06

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 文档

无运行时依赖