#[non_exhaustive]pub enum CompressionMethod {
Stored,
Deflated,
Bzip2,
Aes,
Zstd,
Unsupported(u16),
}
Expand description
Identifies the storage format used to compress a file within a ZIP archive.
Each file’s compression method is stored alongside it, allowing the contents to be read without context.
When creating ZIP files, you may choose the method to use with
crate::write::FileOptions::compression_method
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Stored
Store the file as is
Deflated
Available on crate features
deflate
or deflate-miniz
or deflate-zlib
only.Compress the file using Deflate
Bzip2
Available on crate feature
bzip2
only.Compress the file using BZIP2
Aes
Available on crate feature
aes-crypto
only.Encrypted using AES.
The actual compression method has to be taken from the AES extra data field
or from ZipFileData
.
Zstd
Available on crate feature
zstd
only.Compress the file using ZStandard
Unsupported(u16)
👎Deprecated since 0.5.7: use the constants instead
Unsupported compression method
Implementations§
Source§impl CompressionMethod
All compression methods defined for the ZIP format
impl CompressionMethod
All compression methods defined for the ZIP format
pub const STORE: Self = CompressionMethod::Stored
pub const SHRINK: Self
pub const REDUCE_1: Self
pub const REDUCE_2: Self
pub const REDUCE_3: Self
pub const REDUCE_4: Self
pub const IMPLODE: Self
pub const DEFLATE: Self = CompressionMethod::Deflated
Available on crate features
deflate
or deflate-miniz
or deflate-zlib
only.pub const DEFLATE64: Self
pub const PKWARE_IMPLODE: Self
pub const BZIP2: Self = CompressionMethod::Bzip2
Available on crate feature
bzip2
only.pub const LZMA: Self
pub const IBM_ZOS_CMPSC: Self
pub const IBM_TERSE: Self
pub const ZSTD_DEPRECATED: Self
pub const ZSTD: Self = CompressionMethod::Zstd
Available on crate feature
zstd
only.pub const MP3: Self
pub const XZ: Self
pub const JPEG: Self
pub const WAVPACK: Self
pub const PPMD: Self
pub const AES: Self = CompressionMethod::Aes
Available on crate feature
aes-crypto
only.Source§impl CompressionMethod
impl CompressionMethod
Sourcepub fn from_u16(val: u16) -> CompressionMethod
👎Deprecated since 0.5.7: use a constant to construct a compression method
pub fn from_u16(val: u16) -> CompressionMethod
Converts an u16 to its corresponding CompressionMethod
Trait Implementations§
Source§impl Clone for CompressionMethod
impl Clone for CompressionMethod
Source§fn clone(&self) -> CompressionMethod
fn clone(&self) -> CompressionMethod
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CompressionMethod
impl Debug for CompressionMethod
Source§impl Display for CompressionMethod
impl Display for CompressionMethod
Source§impl PartialEq for CompressionMethod
impl PartialEq for CompressionMethod
impl Copy for CompressionMethod
impl Eq for CompressionMethod
impl StructuralPartialEq for CompressionMethod
Auto Trait Implementations§
impl Freeze for CompressionMethod
impl RefUnwindSafe for CompressionMethod
impl Send for CompressionMethod
impl Sync for CompressionMethod
impl Unpin for CompressionMethod
impl UnwindSafe for CompressionMethod
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more