syukai 發表於 2022-8-24 20:02:45

遇到文件乱码?不要怕利用python转换

x=open('in.txt','r',encoding='gb18030')
z=x.read()
z=z.encode('gb18030').decode('cp932')
j=z.encode('gb18030').decode('gb18030')
print(j)
if('・' in z):
    y=open('out.txt','w',encoding='utf8')
    y.write(j)
else:
    y=open('out.txt','w',encoding='gb18030')
    y.write(j)
x.close()
y.close()

syukai 發表於 2022-8-24 20:09:06

乱码发生的原因是,运行环境有固定的编码格式,用不正确的编码去解码就会乱码,
解决方案是正确的编码去解码然后再用自己的环境编码重新把字符编码一次再解码就能正常显示内容啦
上面gb18030为升级版gb2312(简体中文)编码
cp932又名(ms932)为微软定义的日文编码(shiftjis)扩充
【・】字符是比较难转码的字符,容易报错,需要转utf-8达到正常显示
针对文本文档格式,csv、txt、逗号分隔、tab分隔都能转换哦,大家可以试试
针对其他语言的转码只要改编码部分名称即可
頁: [1]
查看完整版本: 遇到文件乱码?不要怕利用python转换