《程序是怎样跑起来的》——第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色。
示例:各种形式的图像文件的画质对比
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)