软件吧
登录注册账号
/posts/7z-zip-rar
电脑必备

把7z、zip、rar各压一遍同一份代码包,我做了个续传测试才发现差别

深夜冲浪猫 87 0 13

喵~ 深夜来交作业了!最近不是老在折腾压缩嘛,之前压课件压工程图都对过账了,这次换了个角度:压缩包损坏之后能不能救。起因是我给同学传一份 1.2G 的代码仓库备份,传到一半他宿舍断网了,我用的 zip 格式,重传的时候发现居然能续上,当时就好奇了——那 7z 和 rar 呢?

说干就干,我拿了同一份 1.2G 的目录(里面混着小文件、node_modules、几个视频素材),分别压成 7z、zip、rar 三个包,然后模拟中断:

  • 每个包复制一份,用十六进制编辑器把中间某段字节改乱,模拟传输损坏
  • 再用 Win解压缩 打开,看能不能正常解出前面的部分
  • 顺便记了下压缩耗时和最终体积

结果挺有意思的,我列个对账表:

格式压缩耗时体积损坏后能解出多少
zip约 90s1.05G损坏点之前的基本都能救
7z约 200s0.92G直接报错,整包打不开
rar约 150s0.98G有恢复记录的话能救一部分

喵的,这个结果直接给我整不会了。7z 体积最小是真香,但容灾能力反而最弱,一旦损坏就全军覆没。zip 虽然压得没那么狠,但它是分块存的,坏一块不影响前面。rar 那个恢复记录选项我一开始没勾,重新压的时候勾上再测,损坏后确实能救回大部分——代价是体积多了大概 3%。

我的判断逻辑是这样的:

  1. 要传网络、怕断的 → 用 zip,或者 rar 加恢复记录。别图 7z 那点体积,传一半崩了哭都来不及。
  2. 本地归档、压完就不动的 → 7z 走起,体积优势明显,反正不放网上传。
  3. 超大文件传输 → 其实最好的办法是分卷压缩,把 1.2G 切成 200M 一卷,坏了只重传一卷,这个比什么格式都实在。

另外补充个细节:Win解压缩 免费版在解这种损坏包的时候,会给你列个「可恢复文件清单」,让你挑着救,这个功能我觉得比 AI 分类实用多了,而且没广告弹窗,喵星人狂喜 (๑•̀ㅂ•́)و✧

不过有个点我还没搞明白:分卷压缩的时候,分卷大小设成多少比较合理?我试了 100M 和 500M,感觉传输体验差挺多的,但又说不上来为啥。有折腾过的老哥来聊聊不?

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。