1 个不稳定版本
0.6.6 | 2023 年 7 月 23 日 |
---|
#371 in 压缩
在 3 crate 中使用
205KB
4K SLoC
zip-rs
信息
Rust 的 zip 库,支持读取和写入简单的 ZIP 文件。
支持的压缩格式
- 存储(即无压缩)
- deflate
- bzip2
- zstd
当前不支持 ZIP 扩展
- 加密
- 多磁盘
用法
使用所有默认功能
[dependencies]
zip = "0.6"
不使用默认功能
[dependencies]
zip = { version = "0.6.6", default-features = false }
可用的功能有
aes-crypto
:启用使用 AES 加密的文件的解密。支持 AE-1 和 AE-2 方法。deflate
:启用 deflate 压缩算法,这是 zip 文件的默认压缩算法。bzip2
:启用 BZip2 压缩算法。time
:启用使用 time crate 的功能。zstd
:启用 Zstandard 压缩算法。
默认启用所有这些。
MSRV
我们当前支持的最低 Rust 版本是 1.59.0。在添加功能时,我们将遵循以下准则
- 我们将始终支持最新的四个次要 Rust 版本。这为您提供了 6 个月的编译器升级窗口。
- 任何对 MSRV 的更改都将伴随一个 次要 版本号的增加
- 在 crate 1.0 版本之前,这将是一个对 PATCH 版本号的更改。
示例
有关如何将文件写入 zip 的示例,请参阅 示例目录
- 如何将文件写入 zip。
- 如何将文件目录写入 zip(使用 walkdir)。
- 如何解压 zip 文件。
- 如何从 zip 中解压单个文件。
- 如何从标准输入读取 zip。
模糊测试
模糊测试支持通过 cargo fuzz 实现。要安装 cargo fuzz
cargo install cargo-fuzz
列出模糊测试目标
cargo +nightly fuzz list
开始模糊测试 zip 解压
cargo +nightly fuzz run fuzz_read
依赖项
~7MB
~120K SLoC