python 打开ansi编码文件_好冷的Python源文件编码

我们在看Python源码的时候,经常看到py文件的前面2行出现这样的内容:

#!/usr/bin/python# -*- coding: UTF-8 -*-

第2行 ”-*- coding: UTF-8 -*-” 的作用是告诉Python解释器这个源码文件所采用的编码方式是UTF-8。本着猎奇的心理,我们来看下用其他的编码方式保存源码文件试试。在notepad++的格式选项下可以选择保存文件的格式,“以UTF-8无BOM格式编码”就是指UTF-8编码格式 。

我们试着用“以ANSI格式编码”保存文件,同时命名为coding-gbk.py,并在文件中输入有中文字符串内容,但是在第2行的内容中仍然声明为UTF-8的编码格式,试着运行这个py文件,果然抛异常了,提示utf-8格式在解析某个字节的时候失败了。

我们将第2行内容中coding: 后面的UTF-8修改为gbk,一切ok,运行正常:

#!/usr/bin/python# -*- coding: gbk -*-     这里修改为gbkprint('公众号:')print('桔子code')   ===========结果:公众号:桔子code

从这个例子可以看出,文件的实际编码方式(选择保存的编码格式)应该要和声明的编码方式(源文件中第2行的声明)保持一致!这个地方敲黑板!

另外通过实验也可以看到如果没有在代码中声明编码方式,解释器是默认按照utf-8格式去解析的,所以在没有第2行声明的时候保存文件的编码格式应该选择utf-8格式。

行文到此如果就结束的话,这些个内容就不那么高冷了,继续,继续!下面实验的都是用 “以ANSI格式编码”保存源码文件。

干掉第1

我们来

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值