Expand description
§OxiArc Deflate
Pure Rust implementation of the DEFLATE compression algorithm (RFC 1951).
This crate provides compression and decompression of DEFLATE data, which is the basis for ZIP, GZIP, and PNG formats.
§Features
- Decompression: Full support for all DEFLATE block types
- Stored (uncompressed) blocks
- Fixed Huffman codes
- Dynamic Huffman codes
- Compression: LZ77 + Huffman encoding
- Multiple compression levels (0-9)
- Fixed Huffman codes
§Example
use oxiarc_deflate::{deflate, inflate};
// Compress data
let original = b"Hello, World! Hello, World!";
let compressed = deflate(original, 6).unwrap();
// Decompress data
let decompressed = inflate(&compressed).unwrap();
assert_eq!(&decompressed, original);§Compression Levels
- Level 0: No compression (stored blocks)
- Level 1-3: Fast compression
- Level 4-6: Balanced (default is 6)
- Level 7-9: Best compression (slower)
Re-exports§
pub use deflate::Deflater;pub use deflate::MAX_DICTIONARY_SIZE;pub use deflate::deflate;pub use gzip::GzipDecoder;pub use gzip::GzipEncoder;pub use gzip::gzip_compress;pub use gzip::gzip_decompress;pub use huffman::HuffmanBuilder;pub use huffman::HuffmanTree;pub use inflate::Inflater;pub use inflate::inflate;pub use lz77::Lz77Encoder;pub use lz77::Lz77Params;pub use lz77::Lz77Preset;pub use lz77::Lz77Token;pub use optimal::OptimalParser;pub use pool::DeflatePool;pub use pool::PoolStats;pub use streaming::GzipStreamDecoder;pub use streaming::GzipStreamEncoder;pub use streaming::ZlibStreamDecoder;pub use streaming::ZlibStreamEncoder;pub use zlib::Adler32;pub use zlib::ZlibCompressor;pub use zlib::ZlibDecompressor;pub use zlib::zlib_compress;pub use zlib::zlib_compress_with_dict;pub use zlib::zlib_decompress;pub use zlib::zlib_decompress_with_dict;pub use zlib::zlib_requires_dictionary;
Modules§
- deflate
- DEFLATE compression.
- gzip
- Gzip wrapper module for DEFLATE compression.
- huffman
- Huffman coding for DEFLATE compression.
- inflate
- DEFLATE decompression (inflate).
- lz77
- LZ77 compression for DEFLATE.
- optimal
- Zopfli-style graph-based optimal DEFLATE parser.
- pool
- Thread-safe memory pool for DEFLATE buffer allocations.
- streaming
- Streaming compression and decompression for GZIP and Zlib formats.
- tables
- Fixed Huffman code tables for DEFLATE (RFC 1951).
- zlib
- Zlib format wrapper for DEFLATE compression.