#lz4 #interface #frame #format #encode #decode

sys minilz4

LZ4 压缩库帧格式的最小接口

7 个版本 (破坏性更新)

0.6.1 2023年5月19日
0.6.0 2023年2月2日
0.5.0 2021年2月17日
0.4.0 2020年4月22日
0.1.0 2020年4月15日

#393 in 压缩


用于 staticfilemap

BSD-2-Clause 协议

345KB
6.5K SLoC

C 5.5K SLoC // 0.2% comments Rust 485 SLoC Visual Studio Project 182 SLoC Visual Studio Solution 25 SLoC

minilz4

Crates.io Docs.rs

LZ4 压缩库 帧格式提供最小接口。

链接到 LZ4 1.9.4。

用法

示例

简单

use minilz4::{Encode, EncoderBuilder, Decode};
use std::io::Cursor;

let data = "Blushing is the color of virtue.";

let encoded = Cursor::new(data).encode(&EncoderBuilder::new()).unwrap();
let decoded = Cursor::new(encoded).decode().unwrap();

读写特性

use minilz4::{EncoderBuilder, Decoder};
use std::io::{Cursor, copy};

let data = "Blushing is the color of virtue.";

let mut encoder = EncoderBuilder::new().build(Vec::new()).unwrap();
copy(&mut Cursor::new(data.as_bytes()), &mut encoder).unwrap();
let encoded = encoder.finish().unwrap();

let mut decoder = Decoder::new(Cursor::new(encoded)).unwrap();
let mut decoded = Vec::new();
decoder.read_to_end(&mut decoded).unwrap();

依赖项