电脑必备
给压缩包做体检,我靠对比解压后文件数揪出一个隐藏大坑
97 0 13
深夜冲浪喵~ 最近在折腾压缩包的时候发现一个特别隐蔽的坑,差点被坑到怀疑人生 (。•́︿•̀。)
事情是这样的:前几天帮学长整理他做实验的素材包,一个大概2.3G的压缩包,解压完显示成功,文件大小也对得上。但我随手数了一下文件数量——诶?压缩包属性里显示有1247个文件,解压出来只有1245个。少了两个!
关键是一般人根本不会去数文件个数对吧?系统不报错,大小也差不多,谁能想到里面少了东西。我一开始以为是解压软件抽风,换了两个不同的工具重新解压,结果都一样。
后来我拿Win解压缩的「预览/列表」功能把压缩包里面的文件清单导出来,再跟解压后的文件夹做diff对比,终于定位到了——是两个文件名里带特殊符号(一个带竖线|,一个带冒号:)的json文件。Windows文件系统不允许文件名里出现这些字符,所以解压时直接被跳过了,而且大多数解压软件不给任何提示!
这个坑有多阴间呢?如果压缩包是别人在Linux或者macOS上打包发过来的,文件名里出现这些字符的概率相当高。你要是不检查,可能以为素材齐全就交给老师或者客户了,实际缺了关键文件都不知道 (╯°□°)╯︵ ┻━┻
我的解决办法:
- 解压前先看压缩包属性里的「文件数」,解压后再数一遍文件夹里的文件数,对不上就要警惕;
- 用Win解压缩的列表预览功能,把包内清单导出成txt,再和实际解压结果做对比;
- 如果发现是特殊字符导致的,可以先用它里面的「重命名解压」或者指定编码解压,把非法字符替换掉再释放文件。
顺手也测了一下深度压缩,同样的素材包用最高压缩率重新打包,2.3G压到了1.1G,比默认模式多省了将近400M,而且解压速度也没慢多少,这个真香 (๑•̀ㅂ•́)و✧ 免费无广告这点就不多说了,懂的都懂。
所以想问问各位:你们解压完会去核对文件数量吗?还是说只有被坑过的人才会养成这个习惯?有没有遇到过类似文件名非法字符被静默跳过的情况,最后怎么处理的?
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
