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 即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜饼同学

帮助别人,就是帮助自己,共勉。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值