首页 > 代码库 > 第九章、文件的压缩与打包

第九章、文件的压缩与打包


压缩文件的用途与技术

对大型文件使用压缩技术可以减低大型文件的容量,有的压缩程序还可以分割大型文件成为数个小型文件!

目前我们使用的计算机系统都是使用 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网站压缩技术:把网站上面『看的到的数据』在经过网络传输时,使用的是『压缩过的数据』, 等到这些压缩过的数据到达你的计算机主机时,再进行解压缩,由於目前的计算机运算速度相当地快速, 因此在网页浏览的时候,时间都是花在『数据的传输』上面,而不是 CPU 的运算!如此一来,由於压缩过数据量降低了,自然传送的速度就会增快不少!  
 

第九章、文件的压缩与打包