python中coding:utf-8和setdefaultencoding区别

来源:互联网 发布:qq飞车通灵剃刀数据 编辑:程序博客网 时间:2024/06/07 05:05
这两个作用不一样,
1. # coding:utf-8
作用是定义源代码的编码. 如果没有定义, 此源码中是不可以包含中文字符串的.
PEP 0263 -- Defining Python Source Code Encodings
https://www.python.org/dev/peps/pep-0263/
2. sys.getdefaultencoding()

是设置默认的string的编码格式

import sys

reload(sys)

sys.setdefaultencoding('utf8')

而python2.x的的defaultencoding是ascii,这也就是大多数python编码报错:“UnicodeDecodeError: 'ascii' codec can't decode byte ......”的原因。

0 0
原创粉丝点击