开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
gzip首页、文档和下载 - 文件压缩程序 - 开源中国社区
全部项目分类
我要评价
GPL
C/C++
跨平台
分享
收藏
28 人收藏
收录时间:2010-01-23
gzip 详细介绍

gzipGNU zip的缩写,它是一个GNU自由软件的文件压缩程序, 也经常用来表示gzip这种文件格式。软件的作者是Jean-loup Gailly和Mark Adler。

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

文件格式说明:

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

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

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

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


大家对 gzip 的评论 (全部 1 条评论)
{{repayCom.userName}}
changkong
最近在学习LZW算法对位图的压缩,自己的代码不是很好,现在来学习学习现有的实现方法,感谢开源精神,使我们站在巨人的肩膀上 gzip
gzip 相关博客
顶部