哈夫曼算法是哈夫曼(D.A.Huffman)于1952年提出来的压缩算法。日本人比较常用的压缩软件LHA,使用的就是哈夫曼算法。
文本文件是由不同类型的字符组合而成的,而且不同的字符出现的次数也是不同的。例如,在某以文本文件中,A出现了100次左右,Q仅用到了3次,类似这样的情况是很常见的。而哈夫曼算法的关键就在于“多次出现的数据用小于8位的字节数来表示,不常用的数据则可以用超过8位的字节来表示。”
不过有一点需要注意,不管是不满8位的数据,还是超过8位的数据,最终都要以8位为单位保存到文件中。这是因为磁盘是以字节(8位)为单位保存数据的(图6-3)。为了实现这一处理,压缩程序的内容会复杂很多,不过作为回报,最终得到的压缩率也是相当的高。
莫尔斯编码1837年莫尔斯(SamuelF.B.Morse)提出的。莫尔斯编码不是通过语言,而是通过“嗒 嘀 嗒 嘀”这些长点和短点的组合来传递文本信息的。
对数字领域比较熟悉的读者可能会认为“莫尔斯编码的短点是0,长点是1,其中1个字符用8位来表示”,但实际上,根据字符种类的不同,莫尔斯电码的长度也是不同的。表6-2是莫尔斯编码的示例。大家把1看作是短点(嘀),把11看作是长点(嗒)即可。
莫尔斯编码把一般文本文件中出现频率高的字符用短编码来表示。这里所说的出现频率,不是通过对出版物等文章进行统计调查得来的,而是根据印刷行业的印刷活字数目而确定的。
标签:编码,哈夫曼,长点,短点,算法,6.4,莫尔斯 From: https://www.cnblogs.com/24koi/p/17114083.html