《程序是怎样跑起来的》——第6章 亲自尝试压缩数据

一、文件
1、文件的概念:文件是将数据存储在磁盘等存储媒介中的一种形式。程序文件中存储数据的单位是字节。
2、文件的保存单位:文件就是字节数据的集合。
3、文件的形式:文本文件和图像文件。
示例:

二、RLE算法的机制和缺点
1、RLE算法机制:把文件内容用“数据×重复次数”的形式来表示的压缩方法称为RLE(Run Length Encoding,行程长度编码)算法。RLE算法是一种很好的压缩方法,经常被用于压缩传真的图像等。因为图像文件本质上也是字节数据的集合体,所以可以用RLE算法来压缩。
示例:通过数据的重复次数来实现压缩的RLE算法

2、RLE算法的缺点:在实际的文本文件中,同样字符多次重复出现的情况并不多见。虽然针对相同数据经常连续出现的图像、文件等,RLE算法可以发挥不错的效果,但它并不适合文本文件的压缩。但因为该压缩机制非常简单,因此使用RLE算法的程序也相对更容易编写。
示例:借助RLE算法对各文件进行压缩的结果

压缩后同压缩前文件大小的比率,称为压缩比率或压缩比。
三、哈夫曼算法
1、介绍:哈夫曼算法是哈夫曼(D.A.Huffman)于1952年提出来的压缩算法。
示例:用哈夫曼算法压缩的文件的构造

2、使用编码:莫尔斯编码。莫尔斯编码是1837年莫尔斯(Samuel F.B.Morse)提出的。
示例:莫尔斯编码和位长

出现频率和编码(方案)

莫尔斯编码把一般文本中出现频率高的字符用短编码来表示。
3、哈夫曼树的制作编码

4、哈夫曼算法能够大幅提升压缩比率
示例:LHA对各种文件的压缩结果

四、压缩
1、形式:可逆压缩和非可逆压缩。
示例:

2、介绍:我们把能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩前状态的压缩称为非可逆压缩。
3、格式:
①BMP(Bitmap)是使用Windows自带的画笔来做成的一种图像数据形式。
②JPEG(Joint Photographic Experts Group)是数码相机等常用的一种图像数据形式。
③TIFF(Tag Image File Format)是一种通过在文件头中包含“标签”就能够显示出数据性质的图像数据形式。
④GIF(Graphics Interchange Format)是由美国CompuServe开发的一种数据格式。这种格式要求色数不超过256色。
示例:各种形式的图像文件的画质对比

posted @ 2024-02-20 18:54  加克  阅读(9)  评论(0编辑  收藏  举报