#压缩解压 #编码器 #解码 # # #英文

不再维护 lzw

LZW 压缩和解压

8 个重大版本

使用旧的 Rust 2015

0.10.0 2016年2月28日
0.9.0 2015年6月7日
0.8.0 2015年6月5日

#23#en

Download history 12668/week @ 2023-11-19 20522/week @ 2023-11-26 12030/week @ 2023-12-03 11109/week @ 2023-12-10 18747/week @ 2023-12-17 3451/week @ 2023-12-24 7058/week @ 2023-12-31 9043/week @ 2024-01-07 8427/week @ 2024-01-14 12233/week @ 2024-01-21 9427/week @ 2024-01-28 12854/week @ 2024-02-04 16550/week @ 2024-02-11 8956/week @ 2024-02-18 16336/week @ 2024-02-25 10879/week @ 2024-03-03

54,230 每月下载量
398 个crate(7 直接)中使用

MIT/Apache

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();
 }

无运行时依赖项

功能