8 个重大版本
使用旧的 Rust 2015
0.10.0 | 2016年2月28日 |
---|---|
0.9.0 | 2015年6月7日 |
0.8.0 | 2015年6月5日 |
#23 在 #en
54,230 每月下载量
在 398 个crate(7 直接)中使用
23KB
582 行
lzw
LZW 编码和解码
lib.rs
:
LZW 解码器和编码器
这个crate提供了一个LzwEncoder
和一个LzwDecoder
。代码词是从和到位流中写入的,可以写入最高位或最低位。最大可能的代码大小是16位。两种类型都依赖于RAII来产生正确的结果。
解码器和编码器期望LZW流从清除代码开始,并以结束代码结束,如下定义:
CLEAR_CODE == 1 <<min_code_size
END_CODE == CLEAR_CODE + 1
编码器的示例使用
use lzw::{LsbWriter, Encoder};
let size = 8;
let data = b"TOBEORNOTTOBEORTOBEORNOT";
let mut compressed = vec![];
{
let mut enc = Encoder::new(LsbWriter::new(&mut compressed), size).unwrap();
enc.encode_bytes(data).unwrap();
}