Python ancii 转utf-8 失败

问题描述:

试图把 .py (非 utf-8 编码的)保存为 utf-8 ,结果保存之后一直还是 anscii。

with open(path_dir+'\\debug.py', encoding=sourse_encoding) as f:
    data = f.read()
with open(path_dir+'\\debug.py',mode = 'w',encoding="utf-8") as f:
    f.write(data)

 解决办法:

尝试了 n 多办法后,看到了这位博主的博客。

相关链接:https://blog.csdn.net/wjzhang5514/article/details/79637571#commentsedit

一般来说,python中‘utf-8’指的就是 utf-8 withoutBOM。 这种编码,对应没有特殊字符的英文字母文件,有些编辑器里面都会自动识别为 ANSI 格式,当然也不会有乱码。 对于非英文字符,如果保存为 utf-8 withoutBOM,则可以识别问 utf-8格式。 如果在编辑器查看文件是,选择 ANSI 编码,会出现乱码情况。 比如你在俄语系统下面,如果用 ANSI 编码打开中文的文本,就可能出现乱码。 如果强制讲文件保存为 utf-8 withBOM, 则不管文本里面有没有包含特殊字符,编辑器都自动识别为 UTF-8.

 终于发现问题所在,改用 utf-8-sig 即可。

猜你喜欢

转载自blog.csdn.net/qwe641259875/article/details/83834553
今日推荐