3个版本
0.1.3 | 2021年3月2日 |
---|---|
0.1.2 |
|
0.1.1 | 2021年3月1日 |
0.1.0 | 2021年3月1日 |
#607 in 压缩
16KB
313 行
huff_rs
这个程序是在我为了完成大学项目而实现Huffman编码之后作为一项有趣的项目创建的。它使用bitvec包来创建比特序列。这个程序的性能实际上相当差,我还没有对这个进行进一步的分析。压缩文件的格式是我自己想出来的,据我所知,它不符合任何标准(如果有的话)。
帮助
huff_rs 1.0
Thomas Lindae <[email protected]>
Compresses files with huffman encoding
USAGE:
huff_rs <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
decode Decodes the specified file
encode Encodes the specified file
help Prints this message or the help of the given subcommand(s)
安装
最好使用cargo来安装huff_rs
cargo install huff_rs
构建
要构建huff_rs
git clone https://github.com/Treeniks/huff_rs
cd huff_rs
cargo build --release
./target/release/huff_rs --version
用法
编码
要编码文件
huff_rs encode file.txt
默认输出文件名将与输入文件名相同,但扩展名将替换为.huff
。
您还可以使用-o
指定输出文件名
huff_rs encode file.txt -o compressed.huff
解码
要解码文件
huff_rs decode file.huff
默认输出文件名将与输入文件名相同,但扩展名将替换为.txt
。
您还可以使用-o
指定输出文件名
huff_rs decode file.huff -o original.txt
待办事项
该项目还需要解决两个主要问题
- 在解码时添加对正确文件格式的检查
目前程序没有检查正确的文件格式。因此,如果您提供了错误的文件格式,它可能会给出随机错误或崩溃。 - 更好的测试
我还没有实现适当的测试,只有一个针对单个字符串的小测试。
依赖项
~2.2–3MB
~58K SLoC