《程序是怎样跑起来的》这本书的第六章“自己动手压缩数据”为读者揭示了一个神奇而又实用的世界——数据压缩。在阅读这一章之后,我不仅对数据压缩的原理有了更深入的理解,也对计算机科学中的实用技术产生了浓厚的兴趣。
这一章首先介绍了文件是以字节为单位记录的。文件是在磁盘等存储媒体中存储数据的一种形式,程序是以字节为单位向文件中存储数据的。文件是字节数据的集合体,我们可以认为文件就是一串连续储存的字节数据。
接着,作者详细介绍了游程编码的原理和缺点。
如图所示,像这样将文件内容用“数据×重复次数”来表示的压缩方法称为游程编码。对于相同数据连续重复的情况较多的图片文件,游程编码的效果比较好,但它并不适合用来压缩文本文件。
在阅读过程中,我最为感兴趣的是有损压缩的部分。有损压缩虽然会损失一部分信息,但在很多情况下,这些损失的信息对于我们的使用来说是微不足道的。例如,在一张图片中,人眼对于色彩的敏感度是有限的,因此即使损失了一部分色彩信息,我们也很难察觉到。而在音频中,人耳对于高频声音的敏感度较低,因此有损压缩算法可以在牺牲一部分高频信息的前提下,达到更高的压缩比。
总的来说,第六章“自己动手压缩数据”为我打开了一个全新的世界,它让我对数据压缩的原理和方法有了更深入的理解。