压缩 -压缩实现方法、常用的压缩格式

  • 压缩是通过 特定的算法来减少机算机对文件的大小机制,可以减少 Bytes
    有很多的公司 对 存储的数据,都是用压缩包的形式,很少会用到数据库,一朋友 ,新跳了一家公司 分配好项目之后,没想到,发来的 数据都是 压缩包,其中有一个包 里面有着 4000W 的用户信息 (具体啥玩意我也不知道)他的电脑 打都打不开。
    ( 咱不是程序大佬 小白白 )

让我突然重视了起来 压缩,因为平时 除了用快压 解压一些小电影剩下的好像什么都没有办,所以 度妈妈 了一些相关知识想着分享一下、也放在这里希望 大佬 能够指点

言归正传
我们大众化的理解就是解压 就是去除空格 其实也不完全对
接下来我们来说说 压缩

  1. 文件
  • ( 文件 )压缩技术 简单的来说 就是查找文件内的重复 Bytes,然后建立一个具有相同 Bytes 的 字典 文件,并且用一个代码来 表示。

  • 比如原文件里,有多处重复的 Bytes or word 如:LiEnze 我爱你,这个时候 就会生产出一个代码来表示 如:sb 当然只是举例、真实的操作要麻烦的多

  1. 图片
  • ( 图片 )计算机处理信息 用的是 二进制表示、在一张图片内 有数不清的 相同颜色点对吧,压缩就会 在某个位置上 有多少个 蓝色点、在通过 公式用 (0, 1)来表示出来
    压缩 方法分为:
    ( 有的时候想追求效率 必然质量会打点折扣 )
  1. 有损压缩:
  • 举个例子 在压缩 图片的时候 你图片的左上角 少了一个 像素点 你的肉眼能看出来么?对吧!
  • 所以有损压缩 非常适用于 压缩 图片 音频 视频 典型的代表格式就是 .mpeg
  1. 无损压缩:
  • 当我们对数据追求完美 不是特别考虑效率的时候 无损压缩就用到了、代表格式就太多了 如:.zip .rar 这些啊
    其实压缩 最重要的 一点还是去重 也就是 重复压缩

重复压缩 也有两种:

  1. 段语句的重复
  • Bytes 在重复三个以上就成为短语句

  • 在压缩这种类型时候 zip 用的是 两个数字 一个是 重复位置到当前位置的 距离,另一个是重复的长度

  • 比如:abcddddd 我这个当前重复的位置是第 3个(第一个位置索引是 0),重复的长度是 5,那么我就可以 d(3,5) 来表示重复的 d。

不要觉得一个 Bytes 有256个可能 三个字节就是有 256 ^ 3 种可能、这种压缩方法简直就是天方夜谭、

  • 比如:一篇小说中出现的 主人公的名字,和女主角去酒店的名字,极大程度地多次出现、这样就恰恰的符合了 重复压缩的做法,但是重复压缩只适合进行一次压缩
  • 如果对文件进行第二次重复压缩 意义不大,因为第一次压缩 已经大大的破坏了 源语句的重复倾向。
  1. 单 Bytes 的重复
  • 一个字节有 236 中可能、这样重复的几率岂不是更大?因为他是单字节,所以范围缩小了好多的。

  • 比如在 ASCII 文本文件中 常用的就是 字母 和 数字,据说 E 的使用率是最高的 。

  • 图片就更好理解了 肯定 深色调 和 浅色调 使用的多嘛
    这里顺便提一下:png图片格式是一种无损压缩,其核心算法就是 zip 算法,它和 zip 格式的文件的主要区别在于:作为一种图片格式,它在文件头处存放了图片的大小、使用的颜色数等信息。

  • 上面提到的短语式压缩的结果也有这种倾向:重复倾向于出现在离当前压缩位置较近的地方,重复长度倾向于比较短(20字节以内)。

常见的压缩格式:

  1. JAR– Java Archive File
    他是 Java 的一种文档格式、你也可以理解为他就是 ZIP文件 ,叫他文件包,他和 ZIP 的最大区别就是 JAR 文件的内容中包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的

  2. ZIP
    zip 是 very常见的一种压缩格式了它不需要单独的一个压缩或者解压缩软件,因为Windows系统已经集成了对 ZIP 压缩格式的支持。

  3. RAR
    RAR 的压缩地位仅次于 ZIP ,因为 RAR 的压缩率 要比 ZIP 高很多。有一个后起之秀 叫 7Z 有着 比 RAR 更高的压缩率 但是 没办法 RAR 在压缩领域奠定了一定的基础、不可撼动。

  4. CAB
    CAB 是微软推出的压缩文件格式,主要都是用于安装程序上,所以 CAB 文件包含的文件都是被经过处理的,代价就是咱们自己解压后可能还用不了

  5. ISO
    ISO 是 一种光盘镜像格式,是吧数据保存到光盘上。你一可以理解 这就是文件提取。

  6. TAR
    TAR .tar 为后缀的文件,WinZIP、WinRAR、都可以打开,因为 他们两个都对 TAR 进行了关联,注意说的一点是 TAR是linux 常用的文件格式

  7. UUE
    UUE 这个比较牛逼、是压缩遇到邮件编码混合 引起 乱码 的情况下就用压缩格式,可以用WinZIP、WinRAR打开。

压缩的操作相比较来说 还是比较麻烦的 要慢慢钻研~~~

相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页