【转】关于zip

Zip - 含义1:


ZIP是指一种 高储存密度的磁盘 驱动器磁盘,一片ZIP磁盘的容量约100MB,大小则和传统3.5"软盘片差不多。另有LS-120规格的120MB高容量磁盘,而且其磁盘驱动器可读取传统3.5"软盘片,但是其存取速度稍逊于ZIP。

Zip - 含义2:


ZIP,是一个计算机文件的 压缩的算法,原名Deflate(真空),发明者为菲尔·卡茨(Phil Katz)),他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括 RAR格式以及开放源码的7-Zip格式。从性能上比较,RAR格式较ZIP格式压缩率较高,而7-Zip由于提供了免费的压缩工具而逐渐在更多的 领域得到应用。

Zip - ZIP文件格式

ZIP,是一个计算机文件的压缩的算法,原名Deflate(真空),发明者为菲尔·卡茨(PhilKatz)),他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。从性能上比较,RAR格式较ZIP格式压缩率较高,而7-Zip由于提供了免费的压缩工具而逐渐在更多的领域得到应用。

ZIP 文件可由 WinZIPWinRARWinMount 等软件支持。

Zip - ZIP文件详细信息


  前身
  1985年一家名为SEA(SystemEnhancementAssociates,系统增强伙伴)的小公司开发了一个在MS-DOS平台下的商业压缩软件,名为ARC。当时的软体发行方式与现在略有不同,用户购买了软体,除了得到软体的可执行文件还包括一份C语言的源代码。当时的卡茨与很多用计算机的平民一样,缺乏资金购买大量的商业软件,当时卡茨从网上下载了一份ARC的C语言源代码,并用汇编语言将其全新编写并编译出来。卡茨将这个软体名为:PKARC(PhillipKatz'ARC)。卡茨制作的新软体PKARC因为是使用 汇编语言重新编写,因为是参照源代码编写的,所以完全兼容ARC以及性能上比ARC高。卡茨当时将这个新软件上传到网络上面。显然,卡茨此举造成对SEA公司的侵权。SEA最初希望通过联络卡茨使PKARC成为SEA公司旗下的一款产品,后来卡茨拒绝了。最终,双方对簿公堂,结果是卡茨败诉,卡茨被判以对SEA公司的赔款以及停止发放PKARC。后来,卡茨在研发过程中的PKARC续作PKPRC也被迫重新改写所有代码,PKPRC其实就是下文提及的PKZIP的前身。
  诞生
  这场官司过后几周,卡茨就制作出新压缩软件PKZIP(PhillipKatz'ZIP),这款全新的软体比ARC的压缩率,压缩性能以及功能都要高许多。此后,卡茨还将ZIP的所有技术参数公诸于众。这一名称zip(含义“速度”)是由卡茨的朋友罗伯特·马宏利(RobertMahoney)建议的。他们想暗示,他们的产品比ARC在一定时间内更快速。这个名字往往被写成大写字母,因为在DOS系统内,通常都是使用大写字母作为后缀名的。(由于MS-DOS运行在FAT文件系统上)
  Winzip的面世
  Windows3面世之前,有两种格式与ZIP同样流行,一个是LHA(LHArc),另一个是ARJ(ArchiverRobertJung),直至到1995年,这3种压缩格式都是PC应用的主流。之后,1995年,微软发布了Windows95,当时从DOS转移到Windows的用户们,极度渴求对图形界面下的优良软件,Winzip以其优良的性能以及不太羞涩的图形用户界面吸引了用户的目光,在当时占有大量的市场占有量,其实,当时的Winzip仅仅是一个调用DOS资源的GUI外壳,但是其从Windows3就开始的制作经验使其GUI性能和外观都比当时的流行软件要好。很快的,Winzip就成为了当时一个很流行的软件。同时也带动了ZIP的传播,由于在前期太受欢迎,使到后期很多用户都以为,是WinZip创造了ZIP,其实这是一个误解,关于Winzip更详细的资讯,参见Winzip。
  发展
  因为格式开放而且免费。越来越多的软件内嵌支持打开Zip文件。这时,Zip文件越来越象一个经过压缩的透明文件夹。
  自WindowsMe以来,Windows内嵌支持打开以及压缩Zip文件。
  一些下载软体的工具,支持部分下载Zip文件然后进行恢复。
  越来越多的软件内嵌支持打开Zip文件。
  几乎所有的压缩软体都支持打开及制作Zip文件。
  危机
  基本上,Zip文件的发展都是由PKware公司与Winzip所推动。然而,其两家公司就某些问题上互相猜疑,导致发展缓慢。人们目前最想在Zip文件实现的目标,就是加强目前Zip文件的加密能力。就目前而言,Zip的文件加密能力弱得可怜,仅凭单单一个口令保护,根本满足不了安全需求。虽然卡兹在生时公开了格式,但是当时制作的时候留有为日后升级的空间。而Winzip仅仅是一个使用者,根本无法发布新标准,其标准的制订权依然保留在PKware手中。2002年时,PKware开发了支持256位AES加密的PKZIP5.0,但是Winzip在2003年发布的Winzip9却被证明了无法与之相容。双方都互相指责对方违背了Zip的自由开放精神。这是Zip自诞生日起,第一个对于它来说最严峻的挑战。
  特色
  使用任何一种文本编辑器打开Zip文件,都会看到头2字母为:PK
  技术
  ZIP是一种相当简单的分别压缩每个文件的存档格式。分别压缩文件允许不必读取另外的数据而检索独立的文件;理论上,这种格式允许对不同的文件使用不同的算法。不管用何种方法,对这种格式的一个告诫是对于包含很多小文件的时候,存档会明显的比压缩成一个独立的文件(在类Unix系统中一个经典的例子是普通的tar.gz存档是由一个使用gzip压缩的TAR存档组成)要大。
  ZIP的规约指出文件可以不经压缩或者使用不同的压缩算法来存储。然而,在实际上,ZIP几乎差不多总是在使用卡茨(Katz)的DEFLATE算法。
  ZIP支持基于对称加密系统的一个简单的密码,现在已知有严重的缺陷,已知明文攻击,字典攻击和暴力攻击。ZIP也支持分卷压缩。
  在近来一段时间,ZIP加入了包括新的压缩和加密方法的新特征,不过这些新特征并没有被许多工具所支持并且没有得到广泛应用。
  压缩方法
  用来对比压缩大小使用的是[1]的内容和最大压缩比。
  Shrinking(方法1)
  收缩(Shrinking)是LZW的微小调整的一个异体,同样也受到LZW专利问题的影响。从来没有明确的是这项专利是否涵盖反收缩,不过一些开放源码的项目(例如Info-ZIP)决定谨慎行事,在默认的构造里不包含反收缩的支持。
  Reducing(方法2-5)
  缩小(Reducing)包括压缩重复字节序列的组合,然后应用一个基于概率的编码得到结果。
  Imploding(方法6)
  爆聚(Imploding)包括使用一个滑动窗口压缩重复字节序列,然后使用多重Shannon-Fano树压缩得到结果。
  Tokenizing(方法7)
  令牌化(Tokenizing)的方法数是保留的。PKWARE规约没有为其定义一个算法。
  Deflate和增强的Deflate(方法8和9)
  这些方法使用众所周知的Deflate算法。Deflate允许最大32K的窗口。增强的Deflate允许最大64K的窗口。增强版完成任务稍稍成功一些,但是并没有被广泛的支持。
  Deflate比较尺寸是52.1MiB(使用pkzipforWindows,版本8.00.0038测试)
  增强的Deflate比较尺寸是52.8MiB(使用pkzipforWindows,版本8.00.0038测试)
  PKWAREDataCompressionLibraryImploding(方法10)
  PKWARE数据压缩库爆聚(PKWAREDataCompressionLibraryImploding),官方ZIP格式规约就此没有给出更多的信息。
  比较尺寸是61.6MiB(使用pkzipforWindows,版本8.00.0038测试,选择二进制模式)
  方法11
  此方法被PKWARE保留。
  Bzip2(方法12)
  此方法使用众所周知的bzip2算法。此算法比deflate高效但是并没有被(基于Windows平台的)工具所支持。
  比较尺寸是50.6MiB(使用pkzipforWindows,版本8.00.0038测试)
ozipzip工具使用说明:一款高效的文件换助手 ozipzip工具使用说明:一款高效的文件换助手 【下载地址】ozipzip工具使用说明 本项目提供了一款简单易用的工具,能够快速将ozip格式文件换为常见的zip格式。无论是通过直观的拖拽操作,还是灵活的命令行方式,用户都能轻松完成换。工具解压即用,无需复杂配置,适合各类用户。使用过程中请注意避免文件覆盖,并... 阅读详情

相关推荐

Java 文件Zip实现

zip

Know More 1682

使用ArrayBuffer批量zip压缩,和单个pdf文件

接口调用需要添加responseType: 'arraybuffer' // 获取二进制数据。

2301_76641758的博客 430

【亲测免费】 ozipzip工具使用说明

ozipzip工具使用说明 【下载地址】ozipzip工具使用说明 本项目提供了一款简单易用的工具,能够快速将ozip格式文件换为常见的zip格式。无论是通过直观的拖拽操作,还是灵活的命令行方式,用户都能轻松完成换。工具解压即用,无需复杂配置,适合各类用户。使用过程中请注意避免文件覆盖,并确保系统已安装最新版本的...

gitblog_06709的博客 1137

【rarzip】如何将rar文件轻松换成zip

如何将rar文件轻松换成zip,三个方法:

小奥超人的博客 1223

htmlimage 保存到zip

htmlimage html图片 html装jpg 网页dom换成png,jpeg等, 使用html2canvas将html换成canvas使用canvas2image将canvas换成图片资源直接保存或则打包到zip html2canvas使用

superHU的博客 1219

java bytezip_java – 如何将字节数组换为ZIP文件

我试图将一个字节数组换为ZIP文件.我使用以下代码获取字节:byte[] originalContentBytes= new Verification().readBytesFromAFile(new File("E://file.zip"));private byte[] readBytesFromAFile(File file) {int start = 0;int length = 102...

weixin_29504817的博客 2210

vue 上传文件 zip格式 base64

创建vue项目 在入口文件中导入js (也可以npm 引入) 个人觉得这样方便 <script type="text/javascript" src="./static/utils/jszip.min.js"></script> 将页面内容加入压缩包并且换成base64传给后台 <input type="file" @change="afterRead()...

weixin_42260396的博客 3409

ozipzip工具教程(附下载)

ozipzip工具教程(附下载) 所需工具下载传送门:https://download.csdn.net/download/weixin_44238658/41284850 (0积分免费下载,如果好用请点个关注收藏分享,感谢!!) 第一步当然是先安装Python,文件夹内有详细说明,下载即可查看到 解密ozip如下三图操作 ...

weixin_44238658的博客 2万+

base64二进制流并下载,文件流zip下载

base64二进制流并下载文件

aizenmoxiguan的博客 915

【rarzip】如何把RAR文件改成ZIP格式

如何把RAR文件改成ZIP格式,分享三种方法:

小奥超人的博客 4843

Java htmlpdf批量生成打包zip浏览器下载到客户端

最近项目要改做一个需求,需求内容就是做一个批量导出的pdf功能,没接触过,所以在网上搜了很多内容,也碰到很多坑,现在自己总结一下,方便以后项目碰到。 1、首先maven依赖选择 刚开是用的是flying-saucer-pdf,但是其中碰到的问题是其中的getBBox问题,原生jar包会存在getBBox(I)问题,因为该依赖会下载flying-saucer-pdf,flying-saucer-c...

再试一次 2979

三个方法,RARZIP格式!

三个方法,RARZIP格式!

okfone 奥凯丰的博客 1083

HDFS编程之 .zip .gz

import java.io.File; import java.io.IOException; import java.util.zip.GZIPOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import org.apache.hadoop.conf.Configuration...

_a_0_ 474

】Python的zip函数

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:示例1x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print xyz 运行的结果是: [(1, 4, 7), (2, 5, 8), (3, 6, 9)] 示例2x = [1, 2, 3] y = [

DoubleL的进阶史 387

zip的使用

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:示例1x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print xyz 运行的结果是: [(1, 4, 7), (2, 5, 8), (3, 6, 9)] 示例2x = [1, 2, 3] y = [

虾米小匠 477

【免费下载】 ASM1064.zip资源文件介绍:解决PCIESATA接口问题的强大工具

在现代计算机系统中,接口换的需求日益常见。ASM1064.zip资源文件,正是为了解决PCIESATA接口的难题而诞生。以下是关于ASM1064项目的详细介绍。 ## 项目介绍 ASM1064.zip是一款专注于PCIESATA接口的开源资源文件。它包含了ASM1064相关的驱动和软件,以及详细的用户手册和安装指南。通过这款工具,用户可以轻松地将PCIE GEN3X1接口换为SATA3...

gitblog_06784的博客 1170

[]ubuntu下解压zip文件

1.功能作用:解压缩zip文件2.位置:/usr/bin/unzip3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]4.主要参数 -c 将解压缩的结果显示到屏幕上,并对字符做适当的换 -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的换。 -l ...

weixin_30788239的博客 232

php怎么zip,Linux下添加php的zip模块()

今天早上开发的人员过来跟我说,测试机上的XX项目报了个错:include(ZipArchive.php): failed to open stream: No such file or directory。说是没有zip这个模块,于是在网上找了些资料看了看,果真是没有这个模块,于是乎就下载这个包,安装,结果报错了,起初下的zip包的版本是1.10.2,报错之后觉得不以劲,于是就下了1.12.4最新...

weixin_32558527的博客 125

php怎么zip,使用php将目录换为zip

这里有一个简单的函数,可以递归地压缩任何文件或目录,只需要加载zip扩展名。function Zip($source, $destination){if (extension_loaded('zip') === true){if (file_exists($source) === true){$zip = new ZipArchive();if ($zip->open($destinatio...

weixin_26879037的博客 264
上一篇: 关于英文名字
下一篇: 其它的压缩算法
shappy1978
博客等级 码龄22年 15粉丝 498原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值