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

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

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

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

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

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

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

    原文: