像是将衣服压缩进行李箱,再从行李箱拿出衣服时,他们的原始大小和形状没有发生改变,在计算机中,有时也需要对信息做同样的事,对计算机或者数据文件进行压缩,之后被解压成原始形式被使用。这样可以对资源实现超高利用率,并且可以提高计算机的存储空间。计算机中使用两种不同的压缩:无损压缩和有损压缩。
1.无损压缩--终极免费午餐(有益无害)
怎么样才能在不破坏信息的情况下,让一块数据或信息比实际“真实”体积更小,并在之后完美地重构一切呢?【无损压缩并不能未所有文件节省大量空间!!】数据压缩的方法是:基本思想是发现数据中彼此相同的部分,并运用某种把戏更高效地描述这些部分。以一个例子说明数据压缩的方法:给出数据"AAAAAAAAABCBCBCBCBCAAAAAAA"如果让通过电话向别人口述这份数据,你会怎么说?你是不是会说:9A5BC7A.会发现原始21个字符压缩成了只有7个字符串,计算机科学家将这种方式称为行程长度编码(run-length encoding),大部分时候是和其他压缩算法上有用,如和霍夫曼编码(huffman coding)的技术结合起来使用。但是run-length encoding的主要问题是,数据中的重复片段必须相邻,一般是应用在非常特殊的数据种类上,如传真机。这种方法就较为限定,只能寻找重复部分并高效描述,之后提出更成熟的方法:同前把戏(same-as-earlier trick)和更短符号把戏(shorter-