踩坑记录:20230724在windows和mac下打包zip文件名过长
解压时zip文件名过长
背景
由于网盘下载下来压缩包比较多,一个一个手动解压比较费时,所以等战拜托我写了一个针对目录下所有压缩包的自解压程序。
经过
在运行这个自动解压所有压缩包的时候,等战发现存在某些压缩包,在运行时会出现文件名过长的问题。在谷歌及StackOverflow上查找相关问题,发现由于某些压缩包是在windows或mac系统下打包的,而在linux下,单个文件名以及文件夹名的utf8编码不能超过256的字节长度,完整路径的长度不能超过4096个字节。
结果
对于仅有最后一个文件名过长的情况,截断其中间部分,且在中间部分加入8位md5值避免重复覆盖。对于其他情况,单独创建一个文件夹,截断其中间部分,组成新的文件名放入新文件夹中。详情请参考: 解压代码。
踩坑记录/20230724在windows和mac下打包zip文件名过长.txt · 最后更改: 2023/07/26 15:44 由 MNBVC项目组