1. 文件以字节为单位保存
文件是将数据存储在磁盘等存储媒介中的一种形式。
程序文件中存储数据的单位是字节。
文件就是字节数据的集合。
在任何情况下,文件中的字节数据都是连续存储的。
2. RLE算法的机制
把文件内容用“数据*重复次数”的形式来表示的压缩方法称为RLE(Run Length Encoding,行程长度编码)算法(图6-2)。
![](https://i-blog.csdnimg.cn/blog_migrate/02e8a8dae66f0b88032126a3b07feffd.png)
3. 通过莫尔斯编码来看哈夫曼算法的基础
哈夫曼算法的关键在于“多次出现的数据用小于8位的字节数来表示,不常用的数据则可以用超过8位的字节数来表示”。
4. 用二叉树实现哈夫曼编码
![](https://i-blog.csdnimg.cn/blog_migrate/2d73a7b5dbd088377c66a9fc67909442.png)
5. 可逆压缩和非可逆压缩
把能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩前状态的压缩称为非可逆压缩。
参考
《程序是怎样跑起来的》 —— 6. 亲自尝试压缩数据