简介
在计算机中,有时候我们需要存储文件或者进行文件传输,但文件太大,这时我们要采取一种算法来减少数据或文件的大小,这称为压缩。压缩指数是指文件压缩后的一些参数,用来反应文件压缩后好坏,如压缩率,是否有损等。这是我们选择压缩算法重要的依据之一。
压缩率压缩率(Compression ratio),描述压缩文件的效果名,是文件压缩后的大小与压缩前的大小之比,例如:把100m的文件压缩后是90m,压缩率为90/100*100%=90%,压缩率一般是越小越好,但是压得越小,解压时间越长。
压缩率参考
由于压缩率与音质有关,以下表格仅供参考:
音质声道编码(千比特每秒) 压缩比;
电话机音质单声道8 Kbps 96:1 ;
略高于短波收音机音质单声道16 Kbps 48:1 ;
略高于中波收音机音质单声道32 Kbps 24:1 ;
近似于调频收音机音质立体声56-64 Kbps 26 ~ 24:1 ;
接近CD音质立体声96 Kbps 16:1 ;
CD音质立体声112-128 Kbps 14~ 12:1 。1
有损压缩与无损压缩无损压缩用于要求重构的信号与原始信号完全一致的场合。也就是说数据经过压缩后信息不受损失,还能完全恢复到压缩前的原样。它和有损数据压缩相对。这种压缩通常压缩比小于有损数据压缩的压缩比。
一个很常见的例子是磁盘文件的压缩。根据目前的技术水平,无损压缩算法一般可以把普通文件的数据压缩到原来的1/2~1/4。一些常用的无损压缩算法有霍夫曼(Huffman)算法和LZW(Lenpel-Ziv & Welch)压缩算法。
有损数据压缩方法是经过压缩、解压的数据与原始数据不同但是非常接近的压缩方法。有损数据压缩又称破坏型压缩,即将次要的信息数据压缩掉,牺牲一些质量来减少数据量,使压缩比提高。这种方法经常用于因特网尤其是流媒体以及电话领域。在这篇文章中经常成为编解码。它是与无损数据压缩对应的压缩方法。根据各种格式设计的不同,有损数据压缩都会有generationloss:压缩与解压文件都会带来渐进的质量下降。2
应用在Linux中,压缩命令主要有这几种:Compress,gzip ,zcat ,bzip2, bzcat。
下面来看看gzip和zcat:
gzip [-cdtv#] 文件名 #压缩
-c:将压缩数据输出到屏幕,可通过数据流重定向处理
d:解压缩的参数
t:检验有无错误
-v:显示压缩比
-#:压缩等级 -1最快,-9最慢,默认-6 3
zcat 文件名.gz
压缩等级就是可以反映压缩比,有时候也可以反映是否有损。如果压缩比太大,文件是肯定会出现破坏。