欢迎光临散文网 会员登陆 & 注册

如何修改MMD压缩文件的编码?

2022-09-27 11:30 作者:模之屋  | 我要投稿

使用系统自带的那个“发送到-压缩文件夹”?那么就是压缩为zip格式了。而这种格式,确实要考虑文件名编码的问题——你在日语系统下压缩,使用了本地编码Shift-JIS,显示正常的文件名;拿到简中系统下,此时本地的编码是简体中文GBK,而系统不会智能纠错,也不能由你改变显示的编码,于是文件名乱码。

一、如果你是这种“不兼容”zip文件的接收者,你可以使用那些高级一点的压缩软件——提供“指定文件名编码”这个功能的软件——然后根据具体文件选择显示的编码。

比如下面几种软件:

1、Bandizip和360压缩,在软件主界面上就有显眼的按钮提供给用户来改变文件名显示编码

2、更老牌的压缩软件WinRAR,可以在菜单栏中找到改变编码的条目

3、如果使用9.50或者更高版本的Total Commander,也可以指定zip文件的文件名编码——可以进入压缩包后选择,也可以在TC的解压缩界面上选择

二、如果你想生成一个文件名不会乱码的zip文件,可以选用那些已经考虑到编码问题,甚至具备编码相关设置项的软件。

比如下面的几种:

1、最容易理解的是Bandizip,它提供两种途径供用户选用

这两项是:在Zip文件中使用Unicode文件名(UTF-8);将Unicode文件名存储在Zip文件的额外头字段中(UTF-8)

从软件的帮助页面How to use Unicode filenames in ZIP format可得知这两种途径是什么。简而言之,第一种途径,某些软件不支持,可能有兼容问题;第二种途径,会让生成的zip体积大一些。

2、再看看WinRAR。它的做法是“将Unicode文件名存储在Zip文件的额外头字段中(UTF-8)”,而且只有这一种,用户并不能换其它途径——只要在下图界面选择生成zip就行了。并没有其它设置项(但根据水木社区这里贴出的WinRAR 4.10更新记录来看,它应该两种途径都可以的才对,莫非后期版本做了取舍?)。

3、7-zip值得单独提一下。它默认是不考虑文件名编码问题的,总是使用当前系统的本地编码,所以文件在其它系统打开多半会乱码。但实际上它有提供一个参数供用户使用,只是并不理想。

另一种压缩软件peazip生成zip是调用7-zip组件,所以默认也不是Unicode文件名。但是可以在它设置中启用Unicode文件名。更好的是,设置之后追加新文件,新文件也不会乱码,是青出于蓝而胜于蓝了。 2021-07-07补充:好消息!7-zip最新版(21.02 alpha 2021-05-06)可以“writes additional field for filename in UTF-8 encoding to zip archives.”,也就是“将Unicode文件名存储在Zip文件的额外头字段中(UTF-8)”。

4、而使用Total Commander来压缩解压缩,它的相关设置项更加丰富

如果想要兼容性最好,那选“将非英语字符文件名保存到额外字段”这一项。

三、也许还要考虑到文件追加的问题——将新文件加入到一个zip中,新文件是否乱码、原有的文件是否乱码?

不同软件的策略不同,在这三种里面,旧文件的编码设定不会因加入新文件而改变。

1、使用7-zip向zip压缩包中添加新文件——即使事先启用参数让软件默认生成文件名编码为utf-8的zip,当拖曳一个新文件加入进去时,新文件的名称依然不是utf-8,会乱码;必须右键文件-添加到压缩包,这样做新文件的文件名才会使用utf-8编码

2、使用WinRAR向zip压缩包中添加新文件——不论原本的编码是什么情况,新加入的文件名都使用utf-8编码,不会乱码。

3、使用Totalcmd向zip压缩包中添加新文件——新加入的文件,其文件名编码根据当前TC设置而定。


如何修改MMD压缩文件的编码?的评论 (共 条)

分享到微博请遵守国家法律