压缩包使用中文密码带来的问题 | 您所在的位置:网站首页 › 解压包中文密码怎么打 › 压缩包使用中文密码带来的问题 |
问题与成因
中文windows系统的中文编码多会使用GBK,而不是UTF-8。因此设置压缩密码时,密码很可能采用了GBK编码。在只使用UTF-8编码的操作系统(比如英文windows,linux等)上,即使输入了同样的中文内容也会提示密码错误。 据个例子,四个汉字“中文密码”编码为GBK后的16进制表示: 0xD6D0 0xCEC4 0xC3DC 0xC2EB 编码为UTF-8后的16进制表示: 0x4E2D 0x6587 0x5BC6 0x7801; 内容不相同。因此提示了密码错误。 解决方案假设我们使用的OS是UTF-8的,那么就尝试将中文密码编码到GBK(可能乱码,但不影响使用)。 linux iconv在linux机器上可以这样解决 echo -n "中文密码" | iconv -f utf-8 -t gbk >gbk_code.txt执行后,在UTF-8系统系查看gbk_code.txt: 没错,就是乱码的。只要直接复制乱码,粘贴进密码框就能解密。 Python在windows上可以安装python3,然后这样解决: s="中文密码" with open('gbk_code.txt', 'wb') as f: f.write(s.encode('gbk'))直接复制乱码,粘贴进密码框就能解密。 Notepad++Notepad++据说能够转换编码,没有亲自尝试过。 |
CopyRight 2018-2019 实验室设备网 版权所有 |