![修复 zip 存档中损坏的 Unicode 文件名](https://linux22.com/image/1407544/%E4%BF%AE%E5%A4%8D%20zip%20%E5%AD%98%E6%A1%A3%E4%B8%AD%E6%8D%9F%E5%9D%8F%E7%9A%84%20Unicode%20%E6%96%87%E4%BB%B6%E5%90%8D.png)
一位同事给了我一个包含一些我需要分析的数据的 zip 档案,但不幸的是,文件名在创建档案时或在我的计算机上提取档案时被破坏了。
该档案包含 3000 个文件名包含日语字符的文件。他在 Windows 计算机上压缩了它,而我使用的是 Mac。如果我双击该档案,则会得到如下所示的文件名:
0001_rt_ñºéå-ïÅí ñºéå-àÍî _ÉAÅ[ÉãÉeÉBÅ[.dat
另一方面,如果我在命令行中使用“unzip”,则会出现相同的文件
0001_rt_%FB+%C4%EE-%F2%FC%C6-%FB+%C4%EE-%EA%DB%F6-_%E2A%FC[%E2%EF%E2e%E2B%FC[.dat
文件内容很好(它们不包含任何日语字符,只有数字),但我需要获取原始文件名。
有没有办法让我在不访问位于另一个城市的另一台计算机上的原始文件的情况下恢复正确的文件名?如果可能的话,我准备编写一个快速的 Python 脚本,但我对字符编码不太了解,所以我不确定该怎么做。
答案1
解档者OS X 有一个免费的应用程序可以处理这个问题,当它无法正确检测文件名编码时,它会提示你输入文件名编码。
这将覆盖 OS X 中解压文件的默认程序,但我发现它比内置程序功能强大得多。