nanoka111 发表于 2022-8-3 17:11

评论和探讨一篇大软的旧文

本帖最后由 nanoka111 于 2022-8-8 09:11 编辑

十多年前我在大软上看到过一篇讲压缩软件的文章给我留下了深刻的印象,文章内容我多年以来一直忘不掉,后来随着上网查到了不少信息我凭记忆感受到这篇文章讲得不对的一些地方。
这篇文章多少确实存在倾向性,这或许是当初杂志声明“本文仅代表作者观点,与本刊立场无关”的原因,虽说文章的作者就是当年大软的小编。

已将图片上传至本地:







考虑到这篇文章太老,而且现在人们常用的软件跟当年有很大的不同,或许只有资格比较老的人才能对此评论些什么吧。

nanoka111 发表于 2022-8-3 17:12

本帖最后由 nanoka111 于 2022-8-3 22:29 编辑

在此谈论文章作者失算的一些地方,当然这些多是因为文章写成时间的关系,作者无法预料到后续发展的缘故导致的:
LZ78算法后来在使用上放开了(不过因为长期得不到使用,这已经是一种被埋没的算法了),LZW算法的专利保护从2006年开始逐步过期了,现在这两种算法在使用上都没有任何限制。事实上,这3种算法之间并没有优劣之分,因为自身都没什么复杂高深的算法技术,只是LZ77的使用上相对麻烦一点,LZ78和LZW使用起来更为简单一些,经过改进后LZ77算法完全可以做得比后两者更好。
Zip格式的加密算法危机最终的结果是PKWare和WinZip双方和解,互相承认对方的加密算法。
作者提到的另外两种压缩格式ACE、IMP,这其中ACE仅仅是在文章发布的那几年比较流行而已,后来就逐渐不行了,最后在2007年停止更新;至于IMP格式则是冷门中的冷门了,最后作者放弃继续开发并将软件改为免费版。
还有作者说RAR格式是因为0day才流行起来说法,事实上他提到的3种历史遗留格式里面的ARJ也是因为0day才得以流行的,在DOS时代0day其实主要用的是这种格式,只是这种格式一直没发行过能用的Windows版,导致后来逐渐被冷落。
还有WinZip若按9.0版算是支持20种格式,这当中多数是时代的遗留了。后来Corel收购了WinZip后也为软件加入了RAR格式的支持,只是从这时期WinZip已经完全变成一款商业软件了。另外,后来随着WinRAR升级到了3.50版也逐渐加入了对Zip64格式解压和压缩的支持。

以上只谈一些不是很主观的地方。不过我估计现在发这种老文应该没几个人看,如果有人参与讨论我还会在回复中多谈一些东西。

Marulk 发表于 2022-8-3 17:14

存储空间、处理器性能、网络带宽大‏​‌‎‎​‌‎‏大扩展的今天,zip已经成了事实上的主流了吧。

董卓 发表于 2022-8-3 17:15

图加载慢
猜到是讲一些压缩格式发展和不兼容
商业目的之类的屁事了吧
当年确实就这样的

bbn 发表于 2022-8-3 17:18

看不到图,应该是讲压缩软件历史那篇吧

maritimus 发表于 2022-8-3 17:26

印象里当时rar在压缩率上的优势比文章里给的要大,当年也确实很流行。不过现在看来都没啥意义了

战狼PTSD 发表于 2022-8-3 17:29

星空天神 发表于 2022-8-3 18:05

现在我自己压都7z了 给别人发都zip格式

—— 来自 OnePlus LE2120, Android 12上的 S1Next-鹅版 v2.5.4

atomicink 发表于 2022-8-3 18:06

当年用过winace和winarj

nanoka111 发表于 2022-8-3 18:06

本帖最后由 nanoka111 于 2022-8-4 06:52 编辑

Marulk 发表于 2022-8-3 17:14
存储空间、处理器性能、网络带宽大‏​‌‎‎​‌‎‏大扩展的今天,zip已经成了事实上的主流了吧。 ...
最主要还是因为后来Zip格式得以标准化了,基本就是WinZip 9.0排除加密算法以外的压缩功能了,加密算法和后续版本扩展的新算法现在是归为zipx格式。标准化的zip格式好像也不包含分卷压缩算法,不过现在这方面功能似乎也变得不重要了。
另外,恢复记录也是Zip格式缺失的功能,同样是公开算法的7zip格式也缺少这部分功能。这方面到现在为止似乎只有非公开算法的压缩软件具备。不过随着网络的发展,这方面功能好像也变得不重要了。

nanoka111 发表于 2022-8-3 18:09

战狼PTSD 发表于 2022-8-3 17:29
WINRAR当年还是买光碟才装上的,一些盗版游戏软件都是RAR格式
其实到今年还是很多人不会解压RAR,不知道得 ...

现在国产的压缩软件大多还是支持RAR格式的解压的,不过由于不是公开算法的格式,也只能做到解压而已。
RAR在mac到现在为止好像只有命令行工具,所以拿到这种格式的文件或许就不知道怎么解压了。

maritimus 发表于 2022-8-3 18:36

nanoka111 发表于 2022-8-3 18:09
现在国产的压缩软件大多还是支持RAR格式的解压的,不过由于不是公开算法的格式,也只能做到解压而已。
RA ...

mac解压rar有图形界面工具的,至少keka就可以。

由于unrar是开源的,rar格式可以说已经公开了,只是还受到版权保护,不能随便用。unrar的授权协议要求只能有解压功能,所以一般压缩软件不会有rar的压缩功能。



adrftgyh 发表于 2022-8-3 18:40

讲道理,那时候计算机性能还真的做不到把zip包当成普通文件夹处理,不管zip还是rar都是要解压以后使用~

然后那时候winrar这个软件比winzip要好用,所以嘛~~

至于算法公开不公开有啥意义,计算机这东西不是只能跑盗版软件的吗,正版是什么东西?不知道,哈哈哈~~

win8 发表于 2022-8-3 18:42

战狼PTSD 发表于 2022-8-3 17:29
WINRAR当年还是买光碟才装上的,一些盗版游戏软件都是RAR格式
其实到今年还是很多人不会解压RAR,不知道得 ...

Mac的问题好像不是rar,而是苹果解压缩的压缩包里似乎必须包含一个什么文件,不像win和Linux一样。
细节不太了解,我也不用Mac

win8 发表于 2022-8-3 18:45

另外我记得似乎过去Linux系统流行先打包tar,然后压缩gz包。现在有没有变化我不清楚。
这文章终究还是dos/Windows系统下的压缩软件史吧

ls2021 发表于 2022-8-3 18:54

Marulk 发表于 2022-8-3 17:14
存储空间、处理器性能、网络带宽大‏​‌‎‎​‌‎‏大扩展的今天,zip已经成了事实上的主流了吧。 ...

现在事实上用得多的应该还有gz吧
浏览器和httpd都是用的gz来压缩数据,节省带宽
Linux上一般也是先用tar打包,再用gz来压缩

Midnight.Coup 发表于 2022-8-3 18:58

本帖最后由 Midnight.Coup 于 2022-8-3 19:58 编辑

小编写了一堆但却还是没有一点有力的事实或者推论来支撑标题前面一小节里的观点。。。
“既然rar来自于江湖,就注定无法成为主流的压缩格式”实在没看懂这句话前后有什么联系,只能认为是小编错误的估计了国内软件的正版化进程。
后记上面的那一小节(正文最后一节)其实就是包含了不少WinRAR胜出的原因,也是韩国那个bandzip在前几年流行的原因------特色的极其方便的功能
另外文章其实有混淆“zip和rar之争”与“WinZip和WinRAR之争”的嫌疑,zip确实活下来了,随着Win8开始的默认支持,zip/rar/7z可以说是三分天下了(国产魔改也可以算7z了)
至于Linux上,tar是打包归档,然后gzip,lz等去压缩,只不过tar调用压缩后,后缀名里会同时体现两者
当然我还是在用7zip

小妻水亚美 发表于 2022-8-3 19:03

本帖最后由 小妻水亚美 于 2022-8-3 19:32 编辑

讲一下自己的感受吧,压缩格式其实也类似mkv文件,相同的文件名用的压缩算法不一样,压缩率大不相同。
winme开始支持系统解压zip格式,但是rar在国内还是一家独大。然后随着存储空间的提升和网速大幅上升(分卷压缩也不像以前那么重要了),rar格式在0几年到12 13年独占国内市场的局面被打破了。打包成了主要目的,而不是为了省那十几 或者几十m的空间。现在zip和7z格式反倒比rar格式常见了,但是winzip是崛起不起来了,现在国内占用率高的压缩软件还是winrar 7zip bandzip 好压 360压缩 快压等。
提到的ace以及imp压缩格式其实也不算太小众,那个时候移动存储的大小以及网速都远远不如现在,有一堆压缩软件推出自己的压缩格式并且声称压缩率超越rar的同时压缩速度也优于它。
早期国产压缩软件界面抄一下winzip,但是源代码还是自己写的,后面就是完完全全抄7zip的源码,美其名曰独立自主的压缩软件,然后自己开发的压缩率极高的压缩格式也就改改7z。
多说一句winzip后面几年支持了rar格式,然后还推出了zipx格式,但是已经晚了。

—— 来自 samsung SM-G9910, Android 11上的 S1Next-鹅版 v2.5.3

金家藩爱徒 发表于 2022-8-3 19:23

两个路人 发表于 2022-8-3 19:37

本帖最后由 两个路人 于 2022-8-5 11:39 编辑

真想读压缩算法入门的文章的话,这里有一篇Data Compression Explained。
压缩本质上为"编码+模型”,目前没有通解的原因在模型上。应用最广的还是deflate算法吧,一是硬件开销最经济,二还是不要钱。

Data Compression Explained
http://www.mattmahoney.net/dc/dce.html

There is no such thing as universal compression, recursive compression, or compression of random data.
Most strings are random. Most meaningful strings are not.Compression = modeling + coding. Coding is a solved problem. Modeling is provably not solvable.Compression is both an art and an artificial intelligence problem. The key to compression is to understand the data you want to compress.



白左 发表于 2022-8-3 19:51

两个路人 发表于 2022-8-3 19:57

Midnight.Coup 发表于 2022-8-3 18:58
小编写了一堆但却还是没有一点有力的事实或者推论来支撑标题前面一小节里的观点。。。
“既然rar来自于江湖 ...

这就是常见的江湖故事写作啦,和看喂鸡百科差不多吧。若是真的上数学理论解说,怕是一般读者看个开头就睡着了(茶

两个路人 发表于 2022-8-3 20:05

本帖最后由 两个路人 于 2022-8-3 20:13 编辑

白左 发表于 2022-8-3 19:51
这文章好复古,则帖子也好复古
这种朴素的讨论还以为只有在trow才能看到


把陈旧的、默认应用deflate的格式重新按LZMA压缩存储还是有人搞的,比如PDF图包差不多能多压个30%吧。顺便高压游戏的工具包也是xtool承包了吧

http://schnaader.info/precomp.php#d
http://www.github.com/schnaader/precomp-cpp
https://github.com/Razor12911/xtool

aithinkso 发表于 2022-8-3 20:08

压 LZH 后来有流行图形化的工具吗?记得零几年日本网站还一堆的 LZH 文件

—— 来自 Xiaomi Redmi K30 5G, Android 12上的 S1Next-鹅版 v2.5.4

小妻水亚美 发表于 2022-8-3 20:11

aithinkso 发表于 2022-8-3 20:08
压 LZH 后来有流行图形化的工具吗?记得零几年日本网站还一堆的 LZH 文件

—— 来自 Xiaomi Redmi K30 5G, ...

+Lhaca 压缩还要用命令行

aithinkso 发表于 2022-8-3 20:21

小妻水亚美 发表于 2022-8-3 20:11
+Lhaca 压缩还要用命令行

互联网时代日本人人均命令行大佬吗

—— 来自 Xiaomi Redmi K30 5G, Android 12上的 S1Next-鹅版 v2.5.4

爱夏 发表于 2022-8-3 20:37

windows内置了zip,也就终结了这个争论了吧...

tsubasa9 发表于 2022-8-3 20:39

zip可以归档可以压缩,速度还快,挺好的

革二萌 发表于 2022-8-3 21:01

aithinkso 发表于 2022-8-3 20:21
互联网时代日本人人均命令行大佬吗

—— 来自 Xiaomi Redmi K30 5G, Android 12上的 S1Next-鹅 ...

那边有自己的流行软件.........LZH是个图标是小树的软件操作

hxdhttk 发表于 2022-8-3 21:14

还有好多文件格式表面上是单独的文件,实际上是zip压缩包,比如office的文件,apk、appx之类的程序包。倒是没有看到有其他压缩文件格式用在这个上面。

r_ex 发表于 2022-8-3 21:19

当时rar比zip的压缩率是高很多的,但是似乎主要不是算法上的差异,而是有很多小trick
1)rar支持固实压缩,就是把所有文件看成一个连在一起的文件来进行压缩,而zip每个文件需要单独压缩,这导致对于大量小文件来说rar优势很大
2)rar还会对文件进行排序,重复的文件可以检测出来只压缩一份
同时期的ace和7z,虽然压缩率比rar高那么一丁点,但是压缩时间比rar大很多
此外还有
1)编码支持好,zip的文件名支持Unicode非常晚,跨编码的文件很容易乱码(比如日本和台湾的文件)
2)界面稍微要好一点

adrftgyh 发表于 2022-8-3 21:19

hxdhttk 发表于 2022-8-3 21:14
还有好多文件格式表面上是单独的文件,实际上是zip压缩包,比如office的文件,apk、appx之类的程序包。倒是 ...

微软的安装包都是cab格式的.....

宅男的爱 发表于 2022-8-3 21:20

这个事啊,当年的确小有讨论

我当时忘了在哪里看到一句话:WinRAR是依靠更高的资源消耗,更小的包体冲击了WinZip

现在回头看看,讲究一点的用户用7zip,一般用户用好压,路径有相似的地方

JudgmentEye 发表于 2022-8-3 21:33

JudgmentEye 发表于 2022-8-3 21:40

Cres 发表于 2022-8-3 21:40

当初WinZip 7.0解压文件会默认使用莫名其妙的向导模式,而不是正常的窗口模式,也一直没有中文化。WinRAR流行时,已经被很完善的汉化了,功能既多又实用,不考虑正版因素实在没理由不用。不过WinZip的图标还是比WinRAR强的。

----发送自 STAGE1 App for Android.

nanoka111 发表于 2022-8-3 21:41

r_ex 发表于 2022-8-3 21:19
当时rar比zip的压缩率是高很多的,但是似乎主要不是算法上的差异,而是有很多小trick
1)rar支持固实压缩, ...

论固实压缩,RAR后来被7zip给比下去了,这方面7zip做得更好更完善。
固实压缩的弊端一个是解压时耗费的资源大,再就是即便出现少量损坏也会导致整个压缩包不能用。不过现在随着配置的提升和存储介质变得更为可靠,这两点的负面影响也可以被忽略。

b0207191 发表于 2022-8-3 21:42

白左 发表于 2022-8-3 19:51
这文章好复古,则帖子也好复古
这种朴素的讨论还以为只有在trow才能看到



trow是什么论坛

nanoka111 发表于 2022-8-3 21:45

行啊,既然这样接下来我或许还会放几篇大软的文章,不过有些我只是当年在学校图书室里翻看过没有购买过相应期数的文章我现在已经不确定是哪一期了,这些文章现在找起来有种大海捞针的感觉……

JudgmentEye 发表于 2022-8-3 21:50

页: [1] 2
查看完整版本: 评论和探讨一篇大软的旧文