Expand description
This project is a 7z compressor/decompressor written in pure Rust.
This is a fork of the original, unmaintained sevenz-rust crate to continue the development and maintenance.
§Supported Codecs & filters
| Codec | Decompression | Compression |
|---|---|---|
| COPY | ✓ | ✓ |
| LZMA | ✓ | ✓ |
| LZMA2 | ✓ | ✓ |
| BROTLI (*) | ✓ | ✓ |
| BZIP2 | ✓ | ✓ |
| DEFLATE (*) | ✓ | ✓ |
| PPMD | ✓ | ✓ |
| LZ4 (*) | ✓ | ✓ |
| ZSTD (*) | ✓ | ✓ |
(*) Require optional cargo feature.
| Filter | Decompression | Compression |
|---|---|---|
| BCJ X86 | ✓ | ✓ |
| BCJ ARM | ✓ | ✓ |
| BCJ ARM64 | ✓ | ✓ |
| BCJ ARM_THUMB | ✓ | ✓ |
| BCJ RISC_V | ✓ | ✓ |
| BCJ PPC | ✓ | ✓ |
| BCJ SPARC | ✓ | ✓ |
| BCJ IA64 | ✓ | ✓ |
| BCJ2 | ✓ | |
| DELTA | ✓ | ✓ |
Modules§
- encoder_
options compress - Encoding options when compressing.
Structs§
- Archive
- Represents a parsed 7z archive structure.
- Archive
Entry - Represents a single file or directory entry within a 7z archive.
- Archive
Reader - Reads a 7z archive file.
- Archive
Writer compress - Writes a 7z archive file.
- Auto
Finisher - A wrapper around a writer that finishes the stream on drop.
- Block
- Represents a compression block.
- Block
Decoder - Decoder for a specific block within a 7z archive.
- Coder
- Represents a single coder within a compression block.
- Encoder
Configuration compress - Configuration for encoding methods when compressing data.
- Encoder
Method - Encoder method that can be chained (filter, compression and encryption).
- NtTime
- A type that represents a Windows file time and is used in the 7z archive format.
- Ordered
Coder Iter - Iterator that yields coders in their processing order within a block.
- Password
- A password used for password protected, encrypted files.
- Source
Reader - A wrapper around a reader that tracks read count and CRC32.
- Stream
Map - Mapping structure that correlates files, blocks, and pack streams within an archive.
Enums§
- Error
- The error type of the crate.
Functions§
- compress
compressandutiland non-WebAssembly - Compresses a source file or directory to a destination writer.
- compress_
encrypted compressandutiland non-WebAssembly andaes256 - Compresses a source file or directory to a destination writer with password encryption.
- compress_
to_ path compressandutiland non-WebAssembly - Compresses a source file or directory to a destination file path.
- compress_
to_ path_ encrypted compressandutiland non-WebAssembly andaes256 - Compresses a source file or directory to a destination file path with password encryption.
- decompress
utiland non-WebAssembly - Decompresses an archive from a reader to a destination directory.
- decompress_
file utiland non-WebAssembly - Decompresses an archive file to a destination directory.
- decompress_
file_ with_ extract_ fn utiland non-WebAssembly - Decompresses an archive file to a destination directory with a custom extraction function.
- decompress_
file_ with_ password utiland non-WebAssembly andaes256 - Decompresses an encrypted archive file with the given password.
- decompress_
with_ extract_ fn utiland non-WebAssembly - Decompresses an archive from a reader to a destination directory with a custom extraction function.
- decompress_
with_ extract_ fn_ and_ password utiland non-WebAssembly andaes256 - Decompresses an encrypted archive from a reader with a custom extraction function and password.
- decompress_
with_ password utiland non-WebAssembly andaes256 - Decompresses an encrypted archive from a reader with the given password.
- default_
entry_ extract_ fn utiland non-WebAssembly - Default extraction function that handles standard file and directory extraction.