ZIP 压缩包中的 Unicode 文件名
UTF-8 是用于存储 Unicode 的标准字符编码方法,其被开发用于显示各种语言。
由于 Unicode 和 UTF-8 是在 20 世纪 90 年代之后开发的,因此 ZIP 格式的初始版本(于 20 世纪 80 年代制造)不支持 UTF-8。 由于 ZIP 格式成为标准档案格式并且需要支持 Unicode,因此,已经引入了几种方法来处理 ZIP 文件上的 UTF-8 字符串。
Bandizip 支持其中两种;一种方法是将文件名转换为 UTF-8,另一种方法是将额外的 UTF-8 文件名存储在额外的头字段中,同时将原始文件存储在 MBCS 中。
在 Zip 文件中使用 Unicode 文件名(UTF-8)
Bandizip 将文件名存储在 ZIP 文件中,并将其转换为 UTF-8。 它是由 APPNOTE 定义的标准文件名存储方法,但是一些压缩程序偶尔无法识别 ZIP 文件或错误处理它们将导致文件名损坏。 APPNOTE
将 Unicode 文件名存储在 Zip 文件的额外头字段中(UTF-8)
Bandizip 将附加 UTF-8 文件名存储在 ZIP 格式的额外头字段中,同时将原始文件存储在 MBCS 中。 此方法也由 APPNOTE 定义为“Info-ZIP Unicode Path Extra Field(ZIP 信息 U 码路径额外字段)”。 因为它使用额外字段来存储 UTF-8 文件名,所以文件大小将比前者大几十字节。 但是,原始文件名存储在 MBCS 中,因此文件更安全,更兼容。
由于大多数压缩程序(如 7-Zip,WinRAR 和 WinZIP)都支持此功能,因此可以防止文件名在使用不同系统语言的操作系统中被破坏。
下图显示了在将韩国操作系统上压缩的 ZIP 文件发送到日语操作系统时使用该功能与不使用该功能之间的区别。
在 tar/tgz 文件中使用 Unicode 文件名(UTF-8)
TAR 和 TGZ 格式是主要在 Unix 上使用的档案格式(使用 UTF-8 文件名)。此功能使您可以在 Unix 上解压 TAR / TGZ 文件而不会出现文件名问题。
注意:Windows 的某些程序可能无法正确识别 TAR/TGZ 格式的 UTF-8 代码页。