《程序是怎样跑起来的》第六章主要讲述了如何压缩数据。在计算机中,文件是数据存储在存储媒介中的一种形式,文件中这些数据的单位就是字节,文件中的字节数据是连续储存的。这一章介绍了一些常见的压缩方法和算法,比如RLE算法、哈夫曼算法、莫尔斯编码等。
RLE算法是一种针对无损压缩的简单算法,它用重复字节和重复的次数来简单描述来代替重复的字节。这种算法虽然简单且对于通常的压缩非常低效,但在某些情况下非常有用,比如图片的压缩格式JPEG就使用了它。哈夫曼算法的特点在于多次出现的数据用小于8位的字节数来表示,不常用的数据可以用超过8位的字节数来表示,这种算法的特点就在于灵活。二叉树构造编码体系类似于数学中的统计,根据数据出现的频率,再进行组合,最后形成一串哈夫曼编码,这种方法可以大大提高压缩比率。
这章还介绍了一些图像文件的数据形式,如BMP(完全未压缩的图像文件数据),此外还有JPEG、TIFF、GIF等图像文件数据形式。在书中讲述的可逆压缩文件和非可逆压缩文件是以是否可以还原未压缩之前来区别的。总的来说,第六章让我对数据压缩有了更深入的了解。