gzip


gzip (正體)

Free Web Hosting with Website Builder
gzip
副档名 .gz, .tgz, .tar.gz
媒体型别 application/x-gzip
发开者 Jean-loup Gailly 与 Mark Adler
格式 数据压缩

gzipGNU zip的缩写,它是一个 GNU 自由软件的文件压缩程序。它是 Jean-loup Gailly 和 Mark Adler 一起开发的。第一次公开发布版本是 1992 年 10 月 31 日发布的版本 0.1,1993 年 2 月 发布了版本 1.0。

目录

文件格式

gzip 的基础是 DEFLATE,DEFLATE 是 LZ77哈夫曼编码的一个组合体。DEFLATE 最初是作为 LZW 以及其它受专利保护的数据压缩算法的替代版本而设计的,当时那些专利限制了 compress 以及其它一些流行的归档工具的应用。

“gzip” 也经常用来表示 gzip 文件格式,这种格式:

  • 10 字节的头,包含幻数、版本号以及时间戳
  • 可选的扩展头,如原文件名
  • 文件体,包括 DEFLATE 压缩的数据
  • 8 字节的尾注,包括 CRC-32 校验和以及未压缩的原始数据长度

尽管这种文件格式允许多了这样的数据拼接在一起,在解压时也把它们当作拼接在一起的数据,但是通常 gzip 仅仅用来压缩单个文件。多个文件的压缩归档通常是首先将这些文件合并成一个 tar 档案,然后使用 gzip 进行压缩,最后生成的 .tar.gz 或者 .tgz 文件通常叫作“ tar 压缩包”。

注意不要将 gzip 与也使用 DEFLATE 的 ZIP 归档格式混淆,ZIP 格式可移植性更好并且不需要一个外部的归档工具就可以包容多个文件,但是由于它对每个文件进行单独压缩而没有利用文件间的冗余信息,所以 ZIP 的压缩率要稍逊于 tar 压缩包。(en:solid compression

zlib 是 DEFLATE 算法的实现库,它的 API 同时支持 gzip 文件格式以及一个简化的数据流格式。zlib 数据流格式、DEFLATE 以及 gzip 文件格式分别标准化成了 RFC 1950RFC 1951 以及 RFC 1952

其它应用

HTTP/1.1 协议允许客户端可以选择要求从服务器下载压缩内容,这个标准本身定义了两种压缩方法:“gzip”(内容用 gzip 数据流进行封装)以及“deflate”(内容是原始格式、没有数据头的 DEFLATE 数据流)。许多 HTTP 客户端库以及绝大多数当今的浏览器都支持这两种格式。

二十世纪九十年代末期以来,一个基于数据块排序算法的文件压缩工具 bzip2 作为 gzip 的替代者逐渐得到流行,它可以生成相当小的压缩文件,尤其是对于源代码以及其它的结构化文本来说更是这样,但是这样做的代价是最高达 4 倍内存与处理时间消耗。bzip2 压缩的 tar 包传统上叫作 .tar.bz2

AdvanceCOMP 也有一个 DEFLATE 实现,它产生的 gzip 兼容文件比 gzip 本身的压缩率更高。

gzip 压缩文件对应的解压程序是 gunzip

参见

  • 归档格式列表
  • 归档工具列表
  • 归档工具比较
  • Unix程序列表
  • .tar.gz.gpg
  • 自由文件格式

外部链接s







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History