这一章所讲解的是文件压缩机制。文件是以字节为单位保存的。程序文件中存储数据的单位是字节,文件就是字节数据的集合。在任何情况下,文件中的字节数据都是连续存储的。本章还讲述到了RLE算法和哈夫曼算法。
RLE算法是指把文件内容用"数据×循环次数"的形式来表示的压缩方法。例如AAAAABBBCDDEEEF用该方法可以表示为A5B3C1D2E3F1的形式。该压缩机制比较简单,适用于图像等。但是对于文本文件来说,同样字符连续出现的部分并不多,所以RLE算法会增大,文本压缩也会增大,这也是RLE算法的一个缺点。
哈夫曼算法的关键就在于"多次出现的数据,用小于八位的字节数来表示,不常用的数据则可以用超过八位的字节数来表示"。莫尔斯编码不是通过语言,而是通过“嗒 嘀 嗒 嘀”的这些长点和短点的组和来传递文本信息的。一般把文本中出现频率最高的字符,用短码来表示。哈夫曼算法是指为个压缩对象文件分别构造最佳的编码体系,并以该编码体系为基础来进行压缩。因此,用什么样式的编码对数据进行分割,就是要由各个文件而定。可以用二叉树实现哈夫曼算法,能够大幅度提升压缩比率。
可逆压缩与非可逆压缩。能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩以前的压缩称为不可逆压缩。对于图像文件来说,即使无法还原到压缩状态以前,但也没有什么区别。
标签:尝试,文件,哈夫曼,RLE,压缩,算法,第六章,数据 From: https://www.cnblogs.com/Xia-ZXN/p/17121421.html