ubuntu下使用中文密码压缩与解压文件

最近遇到一个小问题,就是我在ubuntu下使用中文密码压缩文件发送给使用windows的同事后,同事说使用密码无法解压。

其实传给他前,我就料想他解压不了~

因为中文的windows大多的设置是GBK之类。

而ubuntu大多是UTF-8,例如我的:


echo $LANG

zh_CN.UTF-8

这样导致同样一段中文,在各自的系统上展示完全一样,但是底层的二进制是完全挨不着的。

因为我日常工作大部分时间都在ubuntu上,所以我不想绕过去,也不想改系统编码,那就转码。

简单就以下面的zip压缩命令为例子:


zip -P "$(echo -n 明天下雨\!55555| iconv -f utf-8 -t gbk)" docx.zip 《用户手册2.0》.docx

转码部分:


echo -n 明天下雨\!55555| iconv -f utf-8 -t gbk

iconv是用的比较多的转码工具,我自己在C/C++编码时也经常会用到。

Note:-f 代表from,-t 代表to。

所以这是将echo出的字符串从UTF-8格式转成GBK格式的字符串。

同理,解密GBK编码的windows主机加密压缩文件:


unzip -P "$(echo -n 明天不下雨\!111|iconv -f utf-8 -t gbk)" doc.zip

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容