Huffman Compression
Page content
[TOC]
总结霍夫曼压缩的相关重点。
Huffman Compression
压缩
压缩的步骤如下:
读取输入
将输入中出现的每个char值的出现频率制成表格
根据频率构造相应的霍夫曼编码树
构造编译表,将输入中的每个char值和一个比特字符串相关联。
将单词查找树编码为比特字符串并写入输出流
将输入的字符总数做为比特字符串写入输出流
使用编译表将输入的每个字符写入到输出流
例如:ABRACADABRA!
! : 1010
A : 0
B : 111
C : 1011
D : 100
R : 110
单词查找树编码 :01010000010010100010001001000011010000110101010010101000010
字符串长度12 :00000000000000000000000000001100
霍夫曼编码对应的输入 :01111100101101000111110010100
展开
读取单词查找树(编码在比特流的开头)
读取需要解码的字符个数
使用单词查找树将比特流解码
特殊字符含义
ASCII码的含义
\0 表示 NUL 字符串结束
10 表示 LF line feed 换行键
13 表示 CR carriage return 回车键
Mac,以做为文本文件行尾的标识符
UNIX,以做为文本文件行尾的标识符
WINDOWS,以为行尾的标志.