1个不稳定版本
0.6.3 | 2023年11月11日 |
---|
#375 在 压缩
每月35次下载
在 2 crate中使用
180KB
3.5K SLoC
zip-rs
警告:此版本的ZIP crate不会添加新功能,只有在发现重大安全问题时才会更新。
信息
一个支持读取和写入简单ZIP文件的Rust库。
支持的压缩格式
- 存储(即无压缩)
- deflate
- bzip2
- zstd
目前不支持的zip扩展
- 加密
- 多盘
用法
使用所有默认功能
[dependencies]
zip = "0.6.3"
不使用默认功能
[dependencies]
zip = { version = "0.6.3", 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(使用walkdir)。
- 如何提取zip文件。
- 如何从zip中提取单个文件。
- 如何从标准输入读取zip。
模糊测试
模糊测试支持通过cargo fuzz。要安装cargo fuzz
cargo install cargo-fuzz
列出模糊测试目标
cargo +nightly fuzz list
开始模糊测试zip提取
cargo +nightly fuzz run fuzz_read
依赖项
~5MB
~84K SLoC