随笔分类 - 第六章:亲自尝试压缩数据
摘要:最后,让我们来看一下图像文件的数据形式。图像文件的使用目的通常是把图像数据输出到显示器、打印机等设备上。Windows的标准图像数据形式为BMP,是完全未压缩的。由于显示器及打印机输出的bit (点)是可以直接映射(mapping)的,因此便有了BMP=bitmap这一名称。除BMP格式以外,还有其
阅读全文
摘要:使用哈夫曼树后,出现频率越高的数据所占用的数据位数就越少,而且数据的区分也可以很清晰地实现。但哈夫曼算法为什么达到这么好的效果呢,大家都了解吗? 通过图6-5的步骤2可以发现,在用枝条连接数据时,我们是从出现频率较低的数据开始的,这就意味着出现频率越低的数据到达根部的枝条数就越多。而枝条数越多,编码
阅读全文
摘要:刚才已经提到,莫尔斯编码是根据日常文本中各字符的出现频率来决定表示各字符的编码的数据长度的。不过,该编码体系,对AAAAAABBCDDEEEEEF这样的特殊文本并不是最适合的。在莫尔斯编码中,E的数据长度最短,而在AAAAAABBCDDEEEEEF这个文本中,出现最频繁的是字符A。因此,应该给A分配
阅读全文
摘要:压缩技巧实际上有很多种。接下来,我们就来看一下本章要介绍的第二个压缩技巧,即哈夫曼算法。 哈夫曼算法是哈夫曼(D.A.Huffman)于1952年提出来的压缩算法。日本人比较常用的压缩软件LHA(LHA是吉崎荣泰开发的一款免费压缩软件),使用的就是哈夫曼算法。为了更好地理解哈夫曼算法,首先大家要抛弃
阅读全文
摘要:然而,在实际的文本文件中,同样字符多次重复出现的情况并不多见。虽然针对相同数据经常连续出现的图像、文件等,RLE算法可以发挥不错的效果,但它并不适合文本文件的压缩。不过,因为该压缩机制非常简单,因此使用RLE算法的程序也相对更容易编写。 下面这个例子是借助RLE算法对而各种文件进行压缩的结果: 压缩
阅读全文
摘要:数据后,不难看出有不少字符是重复出现的。在字符后面加上重复出现次数,AAAAAABBCDDEEEEEF就可以用A6B2C1D2E5F1来表示。A6B2CID2E5F1是12个字符也就是12字节,因此结果就将原文件压缩了12字节÷17字节=70%。恭喜你,压缩成功了!像这样,把文件内容用“数据×重复次
阅读全文
摘要:1.文件储存的基本单位是什么?1字节(=8位)2.DOC、LZH和TXT这些扩展名中,哪一个是压缩文件的扩展名?LZH3.文件内容用“数据的值×循环次数”来表示的压缩方法是RLE算法还是哈夫曼算法?RLE 算法4.在Windows 计算机经常使用的SHIFT JIS字符编码中,1个半角英数是用几个字
阅读全文