在我的 3D 建模圈子里,很多用户从日本或中国的创作者那里下载和提取 zip 文件。通常,我们被教导将相关区域添加到我们的计算机以确保安全的文本/文件名提取。我们中的一些人使用 Bandizip 进行提取,因为它允许在不添加区域的情况下进行外部 zip 提取,但是这也可以使用 7zip 吗?谢谢!
在我的 3D 建模圈子里,很多用户从日本或中国的创作者那里下载和提取 zip 文件。通常,我们被教导将相关区域添加到我们的计算机以确保安全的文本/文件名提取。我们中的一些人使用 Bandizip 进行提取,因为它允许在不添加区域的情况下进行外部 zip 提取,但是这也可以使用 7zip 吗?谢谢!
对于
.zip
文件,7-zip没有代码页自动检测功能。它完全理解基于 Unicode 的 .zip 档案1,但如果文件名未存储为 Unicode,则 7-zip 在提取时将始终使用当前系统的区域代码页(如果区域不匹配,则会导致垃圾) . 似乎没有办法告诉它使用其他东西。如果你不喜欢 Bandizip,那么 WinRAR 可以作为替代方案——它确实有一个“选项 → 名称编码”菜单(至少在 6.00 版中),可用于手动指定正确的代码页,例如“932 Shift-JIS " 用于日文文件名。
对于
.7z
和.rar
文件应该没有任何问题,因为这些格式几乎总是使用 Unicode 文件名,因此无论系统区域如何,它们的提取都应该始终有效。1 .zip 档案中的 Unicode 支持相对较新2 ; 许多不知道新添加的旧程序会创建带有存储在系统代码页中的文件名的 .zip 文件。更糟糕的是 .zip 档案没有说明正在使用哪个区域的代码页。解压器只需要知道(或猜测)。
我怀疑许多有问题的档案是通过 Windows“压缩文件夹”功能创建的。很长一段时间以来,它根本不支持 Unicode。它总是使用当前的“区域”代码页(例如 Windows-1257 或 Shift-JIS)创建和提取档案。
随着时间的推移,这确实有所改善。根据我的测试,Windows 10 版本 1703 能够提取(但尚未创建)基于 Unicode 的 Zip 档案,并且 Windows 10 版本 21H1最终创建具有 Unicode (UTF-8) 文件名的 .zip 文件。
(仍然不正确,并且没有设置表明该名称确实存储为 UTF-8 的标志,但这是一个小问题,大多数非归档程序只会自动更正。)
2 7-zip 和 WinRAR 识别在 .zip 档案中存储 Unicode 名称的所有三种方法(直接 UTF-8;旧版 Info-ZIP 额外字段;以及缺少“UTF-8”指示标志的直接 UTF-8)。