3 个稳定版本
1.0.6 | 2021年3月3日 |
---|---|
1.0.5 | 2021年2月28日 |
1.0.4 |
|
1.0.3 | 2021年1月21日 |
1.0.2 |
|
#341 in 压缩
110KB
1.5K SLoC
huff
基于 huff_coding crate 的示例压缩/解压缩 CLI 软件。
用法
huff [FLAGS] [OPTIONS] <SRC_FILE> [DST_FILE]
参数
<SRC_FILE>
<DST_FILE> [default: ./SRC_FILE.hff]
选项
-b, --block-size <SIZE>
Set how many bytes can be loaded from the file at one time
Possible units:
K/Ki -> Kilobytes/Kibibytes
M/Mi -> Megabytes/Mebibytes
G/Gi -> Gigabytes/Gibibytes
[default: 2G]
标志
-d, --decompress
Decompresses the hff SRC_FILE into DST_FILE.hff
-n, --noask
Omits asking if should replace existing DST_FILE
-r, --replace
Deletes SRC_FILE upon completion
-t, --time
Prints how long it took to finish
-h, --help
Prints help information
-V, --version
Prints version information
文件格式
hff 文件格式编码如下
- 一个字节包含用于填充的位数
- 前4位存储
HuffTree
's 填充位 - 剩余的位存储压缩数据的填充位
- 前4位存储
- 4个字节表示存储的
HuffTree
长度(以字节为单位) - 一个
HuffTree
,用于压缩文件,以二进制形式表示(见HuffTree::try_from_bin
) - 实际的压缩数据
依赖
~2MB
~34K SLoC