压缩的原理就是用较短的子串来表示较长的子串:

  AAAAAAAAAA 可用 10A 来表示就是压缩了
  如果是ABio154WQS 这样的毫无规律的字串用什么方法也无法压缩的更小一点

解决方案 »

  1.   

    压缩的方法很多,分无损压缩和有损压缩两种:无损压缩:例如常见的 ZIP 压缩就是无损压缩。一般采用变换编码的方法,比如上一位所说的就是一种方式(行程编码),另外常用的是 Hoffman 编码,它用较短的码来表示出现频率较多的字,而不像 ASCII、UNICODE 码是等长的。这样可以缩短编码后的大小。当然,实际的压缩要复杂得多。有损压缩:例如 JPEG 就是典型的有损压缩。有损压缩的压缩比相对较高,在精度要求不高的情况下最宜使用。它的主要原理就是靠损失一些人眼不易察觉的信息来提高压缩比。另外,视频和声音的压缩更为复杂。视频主要靠记录两帧之间的差异及对下一帧图像的推算来提高压缩比。声音靠量化采样数据来提高压缩比。
      

  2.   

    为什么能够压缩:
    1, 空间相关性 如JPEG
    2, 时间相关性 如MEPG1,2,4
    3, 人眼视觉特性如基于小波的压缩方法JPEG200等
    考虑到三方面的压缩是最好的
      

  3.   

    所谓的信息冗余,就是先验知识的存在,举例说明:如果有单词Blue用4个字节存放,如果通信双方约定,B表示Blue,那么B就是先验知识,也就是Blue可以用B来表示,只需要1个字节存放,信息得到了压缩。正因为如此,如果包含B的这个信息被没有这个先验知识的人获得,那么是没有意义的。
    以上只是一个简单的例子,更加复杂的先验逻辑知识存在,比如不同的编码方式。