步骤二:
计算机会检查传输后的文件,选出经常出现的符号。比如,如果原文件以英语为书写语言,那么计算机就很有可能会发现“e”和“t”是最常出现的两个符号。随后,计算机会创建一张如下页的表格,用短数字码代表经常用到的符号,用更长的数字码代表极少用到的符号。
步骤三:
计算机会通过直接将文件翻译为步骤二中的数字码来再次传输文件。
步骤二中计算出的数字码表也会存储在ZIP文件中,否则在后面不可能解码(并解压)ZIP文件。注意,不同的未压缩文件会得到不同的数字码表。事实上,在真正的ZIP文件中,原文件被分成了小块,每个块都有不同的数字码表。计算机能自动高效地完成所有这些步骤,实现多种文件的优质压缩。
有损压缩:不是免费午餐,但也是一笔好买卖
到目前为止,我们一直都在讨论无损压缩,因为你能将压缩过的文件重新组建成一开始使用的原文件,连一个字母或一个标点符号都没有改变。相反,有时候使用有损压缩要有用得多。有损压缩能让你将一个压缩过的文件重新组建成一个和原文件非常类似,但并不完全和原文件相同的文件。比如,有损压缩经常用于包含图片或音频数据的文件:只要照片在人眼中看起来一样,在计算机上存储照片的文件是否和在相机中存储照片的文件相同其实并不重要。同样的道理也适用于音频数据:只要歌曲在人耳中听起来一样,在数字音乐播放器上存储歌曲的文件是否和在CD中存储歌曲的文件相同也并不重要。
事实上,有时候有损压缩会以更为极端的方式使用。我们都看过互联网上的低质量视频和图片,里面的画质模糊,音质糟糕。这是过度使用有损压缩的结果,目的是让视频或图像文件体积变得非常小。我并不是要说视频看起来要和原视频一样,但至少也要可以看清。通过调整压缩的“损失率”,网站操作人员可以在看起来和听起来几近完美的高质量大文件,以及有着明显缺陷但传输带宽要求很少的低质量文件之间进行选择。你也可能在数码相机上做过同样的事,通常你能选择图像和视频质量的不同设置。如果你选择高质量设置,你能在相机上存储的照片或视频数,就会比选择低质量设置时少很多。这是因为高质量媒体文件要比低质量媒体文件占据更多空间。而这一切都只需通过调整压缩“损失率”来完成。接下来,我们将探究几种进行这一调整的把戏。