[go: nahoru, domu]

blob: 0fee99cc8d498ac434b1769778225e8765663c2d [file] [log] [blame]
David LeGare132eccb2022-04-11 16:44:12 +00001//! A library for reading and writing ZIP archives.
2//! ZIP is a format designed for cross-platform file "archiving".
3//! That is, storing a collection of files in a single datastream
4//! to make them easier to share between computers.
5//! Additionally, ZIP is able to compress and encrypt files in its
6//! archives.
Yi Kongf19c3f22021-02-13 04:04:00 +08007//!
8//! The current implementation is based on [PKWARE's APPNOTE.TXT v6.3.9](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT)
David LeGare132eccb2022-04-11 16:44:12 +00009//!
10//! ---
11//!
12//! [`zip`](`crate`) has support for the most common ZIP archives found in common use.
13//! However, in special cases,
14//! there are some zip archives that are difficult to read or write.
15//!
16//! This is a list of supported features:
17//!
18//! | | Reading | Writing |
19//! | ------- | ------ | ------- |
20//! | Deflate | ✅ [->](`crate::ZipArchive::by_name`) | ✅ [->](`crate::write::FileOptions::compression_method`) |
21//!
22//!
23//!
Yi Kongf19c3f22021-02-13 04:04:00 +080024
25#![warn(missing_docs)]
26
David LeGare132eccb2022-04-11 16:44:12 +000027pub use crate::compression::{CompressionMethod, SUPPORTED_COMPRESSION_METHODS};
Yi Kongf19c3f22021-02-13 04:04:00 +080028pub use crate::read::ZipArchive;
29pub use crate::types::DateTime;
30pub use crate::write::ZipWriter;
31
David LeGare132eccb2022-04-11 16:44:12 +000032#[cfg(feature = "aes-crypto")]
33mod aes;
34#[cfg(feature = "aes-crypto")]
35mod aes_ctr;
Yi Kongf19c3f22021-02-13 04:04:00 +080036mod compression;
37mod cp437;
38mod crc32;
39pub mod read;
40pub mod result;
41mod spec;
42mod types;
43pub mod write;
44mod zipcrypto;