picoHz
lzzzz
Rust

Full-featured liblz4 binding for Rust

Last updated May 23, 2026
79
Stars
11
Forks
2
Issues
0
Stars/day
Attention Score
11
Language breakdown
No language data available.
โ–ธ Files click to expand
README

lzzzz

Full-featured liblz4 binding for Rust

Crates.io GitHub license Rustdoc Rust


About

Rust APIs for the LZ4 compression algorithm.

  • Supports almost all liblz4 features
  • Zero dependencies except liblz4
  • Tested on Windows / macOS / Linux

Usage

Add this to your Cargo.toml:

[dependencies]
lzzzz = "2.0.0"

API Documentation

Features

  • LZ4
- Compression (Block / Streaming) - Decompression (Block / Streaming) - Partial Decompression - Custom Dictionary
  • LZ4_HC
- Compression (Block / Streaming) - Partial Compression - Custom Dictionary
  • LZ4F
- Compression - Decompression - Custom Dictionary - Streaming I/O (Read / BufRead / Write)

Examples

Block Mode

use lzzzz::{lz4, lz4_hc, lz4f};

let data = b"The quick brown fox jumps over the lazy dog.";

// LZ4 compression let mut comp = Vec::new(); lz4::compresstovec(data, &mut comp, lz4::ACCLEVELDEFAULT)?;

// LZ4_HC compression let mut comp = Vec::new(); lz4hc::compresstovec(data, &mut comp, lz4hc::CLEVEL_DEFAULT)?;

// LZ4/LZ4_HC decompression let mut decomp = vec![0; data.len()]; lz4::decompress(&comp, &mut decomp)?;

// LZ4F compression let prefs = lz4f::Preferences::default(); let mut comp = Vec::new(); lz4f::compresstovec(data, &mut comp, &prefs)?;

// LZ4F decompression let mut decomp = Vec::new(); lz4f::decompresstovec(&comp, &mut decomp)?;

Streaming Mode

use lzzzz::{lz4, lz4_hc};

let data = b"The quick brown fox jumps over the lazy dog.";

// LZ4 compression let mut comp = lz4::Compressor::new()?; let mut buf = Vec::new(); comp.nexttovec(data, &mut buf, lz4::ACCLEVELDEFAULT)?;

// LZ4_HC compression let mut comp = lz4_hc::Compressor::new()?; let mut buf = Vec::new(); comp.nexttovec(data, &mut buf)?;

// LZ4/LZ4_HC decompression let mut decomp = lz4::Decompressor::new()?; let result = decomp.next(&data, data.len())?;

use lzzzz::lz4f::{WriteCompressor, ReadDecompressor, Preferences};
use std::{fs::File, io::prelude::*};

// LZ4F Write-based compression let mut f = File::create("foo.lz4")?; let mut w = WriteCompressor::new(&mut f, Preferences::default())?; w.write_all(b"Hello world!")?;

// LZ4F Read-based decompression let mut f = File::open("foo.lz4")?; let mut r = ReadDecompressor::new(&mut f)?; let mut buf = Vec::new(); r.readtoend(&mut buf)?;

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท picoHz/lzzzz ยท Updated daily from GitHub