0 - The file is stored (no compression)
1 - The file is Shrunk
2 - The file is Reduced with compression factor 1
3 - The file is Reduced with compression factor 2
4 - The file is Reduced with compression factor 3
5 - The file is Reduced with compression factor 4
6 - The file is Imploded
7 - Reserved for Tokenizing compression algorithm
8 - The file is Deflated
9 - Enhanced Deflating using Deflate64(tm)
10 - PKWARE Data Compression Library Imploding (old IBM TERSE)
11 - Reserved by PKWARE
12 - File is compressed using BZIP2 algorithm
13 - Reserved by PKWARE
14 - LZMA (EFS)
15 - Reserved by PKWARE
16 - Reserved by PKWARE
17 - Reserved by PKWARE
18 - File is compressed using IBM TERSE (new)
19 - IBM LZ77 z Architecture (PFS)
97 - WavPack compressed data
98 - PPMd version I, Rev 1
ISO/IEC 21320-1:2015 standard for file containers是受限制的zip格式,例如用于Java归档文件(.jar),Office Open XML文件(Microsoft Office .docx,.xlsx,.pptx),Office文档格式文件(.odt,.ods,.odp) )和EPUB文件(.epub) . 该标准将压缩方法限制为0和8,以及其他约束,如无加密或签名 .
3 回答
简写:
.zip is an archive format通常使用Deflate compression method . .gz gzip format用于单个文件,也使用Deflate压缩方法 . 通常gzip与tar to make a compressed archive format,
.tar.gz
结合使用 . zlib library提供了deflate压缩和解压缩代码,供zip,gzip,png(使用zlib wrapper on deflate数据)和许多其他应用程序使用 .长表:
ZIP format是由Phil Katz开发的一种开放式格式,具有开放式规范,其实现PKZIP是共享软件 . 它是一种存档格式,用于存储文件及其目录结构,其中每个文件都是单独压缩的 . 文件类型是
.zip
. 可以选择加密文件以及目录结构 .ZIP格式支持多种压缩方法:
方法1至7是历史的并且未被使用 . 方法9至98是相对较新的添加物,并且具有不同的少量使用 . 在ZIP格式中真正广泛使用的唯一方法是方法8,Deflate,以及一些较小范围的方法0,它根本不压缩 . 实际上,您将在野外遇到的每个
.zip
文件将仅使用方法8和0,可能只是方法8.(方法8还有一种方法可以有效地存储数据而不进行压缩和相对较少的扩展,并且方法0不能流,而方法8可以 . )ISO/IEC 21320-1:2015 standard for file containers是受限制的zip格式,例如用于Java归档文件(.jar),Office Open XML文件(Microsoft Office .docx,.xlsx,.pptx),Office文档格式文件(.odt,.ods,.odp) )和EPUB文件(.epub) . 该标准将压缩方法限制为0和8,以及其他约束,如无加密或签名 .
在1990年左右,Info-ZIP group编写了
zip
和unzip
实用程序的可移植,免费,开源实现,支持使用Deflate格式进行压缩,以及对该格式和早期格式进行解压缩 . 这极大地扩展了.zip
格式的使用 .在90年代早期,gzip format被开发为Unix compress utility的替代品,源自Info-ZIP实用程序中的Deflate代码 . Unix
compress
旨在压缩单个文件或流,将.Z
附加到文件名 .compress
使用的LZW compression algorithm,当时属于专利,其免费使用受到专利持有人的争议 . 虽然Deflate的某些特定实现是由Phil Katz申请专利的,但格式不是,因此有可能编写一个不侵犯任何专利的Deflate实现 . 在过去的20年里,这种实施并未受到如此严峻的挑战 . Unixgzip
实用程序旨在作为compress
的替代品,实际上能够解压缩compress
压缩数据(假设您能够解析该句子) .gzip
将.gz
附加到文件名 .gzip
使用Deflate压缩数据格式,压缩比Unix更好 -compress
,具有非常快速的解压缩,并添加CRC-32作为数据的完整性检查 . 标头格式还允许存储比允许的compress
格式更多的信息,例如原始文件名和文件修改时间 .虽然
compress
仅压缩单个文件,但通常使用tar
实用程序将文件,其属性及其目录结构的存档创建到单个.tar
文件中,然后使用compress
压缩它以生成.tar.Z
文件 . 实际上tar
实用程序已经并且仍然可以选择同时进行压缩,而不必将tar
的输出传递给compress
. 这一切都转为gzip格式,tar
有一个选项可以直接压缩到.tar.gz
格式 .tar.gz
格式压缩比.zip
方法更好,因为.tar
的压缩可以利用文件之间的冗余,特别是许多小文件 ..tar.gz
是Unix上最常用的归档格式,因为它具有非常高的可移植性,但是还有更有效的压缩方法,所以你经常会看到.tar.bz2
和.tar.xz
档案 .与
.tar
不同,.zip
在末尾有一个中央目录,它提供了一个内容列表 . 这和单独的压缩提供了对.zip
文件中各个条目的随机访问 . 必须对.tar
文件进行解压缩并从头到尾进行扫描才能构建目录,这就是列出.tar
文件的方式 .在引入gzip之后不久,大约在1990年代中期,同样的专利纠纷质疑
.gif
图像的免费使用格式,广泛用于公告板和万维网(当时的新事物) . 因此,一个小组创建了PNG无损压缩图像格式,文件类型为.png
,以替换.gif
. 该格式还使用Deflate格式进行压缩,这是在图像数据上的过滤器暴露更多冗余之后应用的 . 为了促进PNG格式的广泛使用,创建了两个免费的代码库 . libpng和zlib . libpng处理了PNG格式的所有功能,zlib提供了压缩和解压缩代码供libpng以及其他应用程序使用 . zlib改编自gzip
代码 .所有提到的专利都已过期 .
zlib库支持Deflate压缩和解压缩,以及围绕deflate流的三种包装 . 它们是:根本没有包装("raw" deflate),zlib wrapping,用于PNG格式数据块,以及gzip包装,为程序员提供gzip例程 . zlib和gzip包装的主要区别在于zlib包装更紧凑,六个字节,而gzip最小为18个字节,完整性检查Adler-32运行速度比gzip使用的CRC-32快 . 原始deflate由读取和写入
.zip
格式的程序使用,这是另一种环绕压缩数据的格式 .zlib现在广泛用于数据传输和存储 . 例如,服务器和浏览器的大多数HTTP事务使用zlib压缩和解压缩数据 .
deflate的不同实现可以导致相同输入数据的不同压缩输出,如可选择的压缩级别的存在所证明的,其允许折衷CPU时间的压缩效率 . zlib和PKZIP并不是deflate压缩和解压缩的唯一实现 . 7-Zip archiving utility和Google的zopfli library都能够使用比zlib多得多的CPU时间,以便在使用deflate格式时挤出最后几位,与zlib的最高压缩级别相比,压缩大小减少了几个百分点 . pigz utility是gzip的并行实现,包括使用zlib(压缩级别1-9)或zopfli(压缩级别11)的选项,并通过在多个处理器上拆分大型文件的压缩来减轻使用zopfli的时间影响 . 核心 .
ZIP是一种文件格式,用于存储任意数量的文件和文件夹以及无损压缩 . 它对使用的压缩方法没有严格的假设,但最常用于DEFLATE .
Gzip既是基于DEFLATE的压缩算法,又是对潜在专利等的较少阻碍,以及用于存储单个压缩文件的文件格式 . 它支持在与tar结合使用时压缩任意数量的文件和文件夹 . 生成的文件的扩展名为
.tgz
或.tar.gz
,通常称为tarball .zlib是一个函数库,它将DEFLATE封装在最常见的LZ77版本中 .
最重要的区别是gzip只能压缩单个文件,而zip会逐个压缩多个文件,然后将它们归档到一个文件中 . 因此,gzip大部分时间都伴随着tar(尽管还有其他可能性) . 这伴随着一些(dis)优势 .
如果你有一个大的存档而你只需要一个单独的文件,你必须解压缩整个gzip文件才能获得该文件 . 如果您有zip文件,则不需要这样做 .
另一方面,如果你压缩10个类似甚至相同的文件,那么zip存档会更大,因为每个文件都是单独压缩的,而在gzip中结合tar,压缩单个文件,如果文件是类似的(等于) .