返回介绍

8.1 压缩文件的用途与技术

发布于 2020-11-10 06:52:39 字数 12673 浏览 1008 评论 0 收藏 0

8.1 压缩文件的用途与技术

你是否有过文件文件太大,导致无法以正常的 email 方式发送出去 (很多 email 都有容量大约 25MB 每封信的限制啊!)? 又或者学校、厂商要求使用 CD 或 DVD 来传递归档用的数据,但是你的单一文件却都比这些传统的一次性储存媒体还要大!那怎么分成多片来烧录呢? 还有,你是否有过要备份某些重要数据,偏偏这些数据量太大了,耗掉了你很多的磁盘空间呢? 这个时候,那个好用的“文件压缩”技术可就派的上用场了!

因为这些比较大型的文件通过所谓的文件压缩技术之后,可以将他的磁盘使用量降低,可以达到减低文件大小的效果。此外,有的压缩程序还可以进行容量限制, 使一个大型文件可以分区成为数个小型文件,以方便软盘片携带呢!

那么什么是“文件压缩”呢?我们来稍微谈一谈他的原理好了。目前我们使用的计算机系统中都是使用所谓的 Bytes 单位来计量的!不过,事实上,计算机最小的计量单位应该是 bits 才对啊。此外,我们也知道 1 Byte = 8 bits 。但是如果今天我们只是记忆一个数字,亦即是 1 这个数字呢?他会如何记录?假设一个 Byte 可以看成下面的模样:

□□□□□□□□

Tips 由于 1 Byte = 8 bits ,所以每个 Byte 当中会有 8 个空格,而每个空格可以是 0, 1 ,这里仅是做为一个约略的介绍, 更多的详细数据请参考第零章的计算机概论吧!

由于我们记录数字是 1 ,考虑计算机所谓的二进制喔,如此一来, 1 会在最右边占据 1 个 bit ,而其他的 7 个 bits 将会自动的被填上 0 啰!你看看,其实在这样的例子中,那 7 个 bits 应该是“空的”才对!不过,为了要满足目前我们的操作系统数据的存取,所以就会将该数据转为 Byte 的型态来记录了!而一些聪明的计算机工程师就利用一些复杂的计算方式, 将这些没有使用到的空间“丢”出来,以让文件占用的空间变小!这就是压缩的技术啦!

另外一种压缩技术也很有趣,他是将重复的数据进行统计记录的。举例来说,如果你的数据为“111....”共有100个1时, 那么压缩技术会记录为“100个1”而不是真的有100个1的位存在!这样也能够精简文件记录的容量呢! 非常有趣吧!

简单的说,你可以将他想成,其实文件里面有相当多的“空间”存在,并不是完全填满的, 而“压缩”的技术就是将这些“空间”填满,以让整个文件占用的容量下降! 不过,这些“压缩过的文件”并无法直接被我们的操作系统所使用的,因此, 若要使用这些被压缩过的文件数据,则必须将他“还原”回来未压缩前的模样, 那就是所谓的“解压缩”啰!而至于压缩后与压缩的文件所占用的磁盘空间大小, 就可以被称为是“压缩比”啰!更多的技术文件或许你可以参考一下:

这个“压缩”与“解压缩”的动作有什么好处呢?最大的好处就是压缩过的文件大小变小了, 所以你的硬盘容量无形之中就可以容纳更多的数据。此外,在一些网络数据的传输中,也会由于数据量的降低, 好让网络带宽可以用来作更多的工作!而不是老是卡在一些大型的文件传输上面呢!目前很多的 WWW 网站也是利用文件压缩的技术来进行数据的传送,好让网站带宽的可利用率上升喔!

Tips 上述的WWW网站压缩技术蛮有趣的!他让你网站上面“看的到的数据”在经过网络传输时,使用的是“压缩过的数据”, 等到这些压缩过的数据到达你的计算机主机时,再进行解压缩,由于目前的计算机运算速度相当的快速, 因此其实在网页浏览的时候,时间都是花在“数据的传输”上面,而不是 CPU 的运算啦!如此一来,由于压缩过的数据量降低了,自然传送的速度就会增快不少!

若你是一位软件工程师,那么相信你也会喜欢将你自己的软件压缩之后提供大家下载来使用, 毕竟没有人喜欢自己的网站天天都是带宽满载的吧?举个例子来说, Linux 3.10.81 (CentOS 7 用的延伸版本) 完整的核心大小约有 570 MB 左右,而由于核心主要多是 ASCII code 的纯文本体态文件,这种文件的“多余空间”最多了。而一个提供下载的压缩过的 3.10.81 核心大约仅有 76MB 左右,差了几倍呢?你可以自己算一算喔!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文