David LeGare | 132eccb | 2022-04-11 16:44:12 +0000 | [diff] [blame] | 1 | //! 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 Kong | f19c3f2 | 2021-02-13 04:04:00 +0800 | [diff] [blame] | 7 | //! |
| 8 | //! The current implementation is based on [PKWARE's APPNOTE.TXT v6.3.9](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) |
David LeGare | 132eccb | 2022-04-11 16:44:12 +0000 | [diff] [blame] | 9 | //! |
| 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 Kong | f19c3f2 | 2021-02-13 04:04:00 +0800 | [diff] [blame] | 24 | |
| 25 | #![warn(missing_docs)] |
| 26 | |
David LeGare | 132eccb | 2022-04-11 16:44:12 +0000 | [diff] [blame] | 27 | pub use crate::compression::{CompressionMethod, SUPPORTED_COMPRESSION_METHODS}; |
Yi Kong | f19c3f2 | 2021-02-13 04:04:00 +0800 | [diff] [blame] | 28 | pub use crate::read::ZipArchive; |
| 29 | pub use crate::types::DateTime; |
| 30 | pub use crate::write::ZipWriter; |
| 31 | |
David LeGare | 132eccb | 2022-04-11 16:44:12 +0000 | [diff] [blame] | 32 | #[cfg(feature = "aes-crypto")] |
| 33 | mod aes; |
| 34 | #[cfg(feature = "aes-crypto")] |
| 35 | mod aes_ctr; |
Yi Kong | f19c3f2 | 2021-02-13 04:04:00 +0800 | [diff] [blame] | 36 | mod compression; |
| 37 | mod cp437; |
| 38 | mod crc32; |
| 39 | pub mod read; |
| 40 | pub mod result; |
| 41 | mod spec; |
| 42 | mod types; |
| 43 | pub mod write; |
| 44 | mod zipcrypto; |