《程序是怎样跑起来的》第六章主要讲述的是关于数据压缩的内容。在这一章中,作者首先介绍了文件是以字节为单位存储在计算机中的,并详细讲解了压缩的一种方式——游程编码,也就是将连续重复的数据转换成“数据*重复次数”的形式 。接下来,作者进一步阐述了RLE算法的机制及其局限性,这种压缩方法更适合连续出现的图像和文件,而不太适合文本文件的压缩。随后,作者介绍了哈夫曼算法,这是一种非常有效的压缩算法,其核心思想是“多次出现的数据用小于8位的字节数表示,不常用的数据则可以用超过8位的字节数来表示”。作者还深入讲解了哈夫曼算法的工作原理,并通过实例说明了如何构建哈夫曼树。
最后,作者讨论了可逆压缩和非可逆压缩的概念,这两种压缩方式分别对应不同的数据格式转换问题。例如,作者介绍了四种常见的图像数据格式BMP、JPEG、TIFF、GIF,并对它们进行了详细的介绍。