bandizip修改压缩文件内容_如何修改压缩文件的编码?

使用系统自带的那个“发送到-压缩文件夹”?那么就是压缩为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就行了。并没有其它设置项。

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

具体可见为什么直到现在 RAR 仍然比 7Z 更流行?这个回答。回答者@w2040w把操作步骤和不足之处都讲了一下。同问题下另一名回答者@軒轅羽的介绍也可以参考对照。

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值