#huffman #coding #tree

bin+lib huffman-coding

纯 Huffman 编码的 Crate

3 个版本

使用旧的 Rust 2015

0.1.2 2017 年 1 月 7 日
0.1.1 2017 年 1 月 7 日
0.1.0 2017 年 1 月 7 日

每月 40 次下载

MIT 许可协议

20KB
410

huffman_coding

Rust 中纯 Huffman 编码的小型库。

此库公开了一个解码编码数据的读取器和编码数据的写入器。

文档

用法

首先将此库作为依赖项添加到您的 cargo 清单中

huffman_coding = "0.1.0"

然后,在您的 main/library 开头导入库

extern crate huffman_coding;

最后,您可以使用导出的结构体

use std::io::Write;
let pseudo_data = vec![0, 0, 1, 2, 2];
let tree = HuffmanTree::new(&pseudo_data[..]);

let mut vec = Vec::new();
{
    let mut writer = HuffmanWriter::new(&mut vec, &tree);
    assert!(writer.write(&[0, 0, 1, 1, 2, 2, 2, 2]).is_ok())
}

二进制文件

有两个小型的示例二进制文件,一个用于编码文件,另一个用于解码文件。由于它们需要命令行解析,因此它们位于功能标志 bin 之后。要构建它们,请使用 cargo build --features "bin"

依赖项

~170KB