1
kmdgeek 2017-11-13 09:19:58 +08:00 via Android
同用 7zip,同最近知道了 rar 的恢复记录功能…然后动手查了一下(所以搜到了这个帖子),似乎 zip 还有其他弊端,比如听说非 ascii 文件名在不同语言系统上会乱码,rar 则用 unicode 没问题。好奇为什么 zip 标准不继续发展,比如弄个 zip 2.0,是否兼容原版 zip 无所谓啊
|
2
linunix 2018-09-12 15:48:08 +08:00 5
我这几天刚好在 google 这个问题,把自己一些心得体会发在这里吧,算是给自己的一个总结
rar 的 Recovery Record (恢复记录)确实是独树一帜的功能,使用的是 Reed – Solomon error correction(里德-所罗门纠错码),对于网络上发布多、大文件(比较典型就是 3A 大型游戏安装程序的分包,一分就是几十个 1G 的包)很有帮助,当包文件出错的时候,可以恢复 并非只有它家支持,FreeArc 也一样支持,但是不知道为什么有 7-8 年没有再更新了 7zip 如果配合 QuickPar 也可以支持类似的功能 不过我感觉大部分的用户是使用不到恢复记录这种功能的 然后 ,尝试回答楼主的问题: 恢复记录有多(不)靠谱? -- 默认情况下恢复记录大约是 1%的冗余,如果你文件损坏部分小于 1%那么修复是靠谱的,这足以应付 99%以上文件轻微损坏的情况,而如果文件损坏超过 1%,说明网络真的非常有问题,先修复网络吧 用 rar 还是 7z ? -- 如果是网络上发布多、大文件(比较典型就是 3A 大型游戏安装程序的分包,一分就是几十个 1G 的包)的情况,使用 rar,当然你要考虑使用盗版或者给 WinRAR 交钱,或者忍受免费版的广告 用 rar 的时候会加上恢复记录吗?否:那为啥不用 zip/7z -- 如果不加恢复记录,压缩率 zip < rar < 7z,压缩时占用 CPU 内存,7z > rar > zip,所以 rar 算是一种比较折衷的方案,但是 7zip 其实有各种压缩算法可选,所以我认为没必要使用 rar 何时使用 rar with 恢复记录,何时使用 7z ? -- 正如前面所说,如果是网络上发布多、大文件(比较典型就是 3A 大型游戏安装程序的分包,一分就是几十个 1G 的包)的情况 (换句话说:是不是遇到损坏了的带有恢复记录的 rar 的时候就只能用 WinRAR 救?) --(基本上可以肯定,rar 创建的恢复记录肯定只有 winrar 程序能救) 另外补充一下,如果实在不想用 rar,并且想用 7zip,可以再配合使用 QuickPar 之类的程序生成校验文件,但是除了.7z 文件外,你要还要附带一个.par2 的检验文件,会麻烦一些,对下载者也更不友好一些 @kmdgeek 另外 zip 有乱码问题,是因为官方的 zip 标准中,并没有规定要使用什么编码,因此在不同的操作系统、或者不同语言的操作系统上,zip 文件的编码各不相同,比如简体中文的 Windows XP 就是使用 GBK 编码,这样拿到 Big5 的繁体系统上肯定就乱码了。 但是如果你不使用操作系统自带的 zip 程序,比如 Windows 自带的 zip 程序,而是使用比如 7zip 中的 zip 压缩程序,现在默认都是使用 unicode 这样一来,估计大家都不在乎是否有一个 zip 2.0 了,但是标准没有统一,确实带来不便 |