红联Linux门户
Linux帮助

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

发布时间:2016-10-05 21:48:16来源:linux网站作者:dyang__
最近遇到一个小问题,就是我在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
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24760.html