#zlib #deflate #encoding #miniz

miniz_oxide

DEFLATE compression and decompression library rewritten in Rust based on miniz

13 releases

✓ Uses Rust 2018 edition

0.3.5 Oct 27, 2019
0.3.2 Aug 11, 2019
0.3.0 Jul 22, 2019
0.2.1 Jan 23, 2019
0.1.1 Oct 28, 2017

#4 in Compression

Download history 60855/week @ 2019-08-14 55130/week @ 2019-08-21 51835/week @ 2019-08-28 58024/week @ 2019-09-04 55354/week @ 2019-09-11 59819/week @ 2019-09-18 64578/week @ 2019-09-25 85108/week @ 2019-10-02 86015/week @ 2019-10-09 87808/week @ 2019-10-16 97203/week @ 2019-10-23 87581/week @ 2019-10-30 94817/week @ 2019-11-06 89713/week @ 2019-11-13 95029/week @ 2019-11-20

277,717 downloads per month
Used in 1,478 crates (9 directly)

MIT license

190KB
4K SLoC

miniz_oxide

A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder. The main intention of this crate is to be used as a back-end for the flate2, but it can also be used on it's own. Using flate2 with the rust_backend feature provides an easy to use streaming API for miniz_oxide.

Requires at least rust 1.34.

Usage

Simple compression/decompression:


extern crate miniz_oxide;

use miniz_oxide::inflate::decompress_to_vec;
use miniz_oxide::deflate::compress_to_vec;

fn roundtrip(data: &[u8]) {
    let compressed = compress_to_vec(data, 6);
    let decompressed = decompress_to_vec(decompressed.as_slice()).expect("Failed to decompress!");
}


lib.rs:

A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder. The plan for this crate is to be used as a back-end for the flate2 crate and eventually remove the need to depend on a C library.

Usage

Simple compression/decompression:


use miniz_oxide::inflate::decompress_to_vec;
use miniz_oxide::deflate::compress_to_vec;

fn roundtrip(data: &[u8]) {
    let compressed = compress_to_vec(data, 6);
    let decompressed = decompress_to_vec(compressed.as_slice()).expect("Failed to decompress!");
#   let _ = decompressed;
}

# roundtrip(b"Test_data test data lalalal blabla");

Dependencies