两种方式的区别
一、 # coding:utf-8
定义源代码的编码. 如果没有定义, 改源码中是不可以包含中文字符串的.
官方链接:https://www.python.org/dev/peps/pep-0263/
二、sys.getdefaultencoding()
是设置默认的string的编码格式。
另外:
在python2.x的字符编码问题时常会遇到“UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-5: ordinal not in range(128)”的编码错误。
解决方法是这样:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
但是这样处理,会带来一些副作用问题:
http://blog.ernest.me/post/python-setdefaultencoding-unicode-bytes
本文参考:
https://www.cnblogs.com/technologylife/p/6071787.html
https://blog.youkuaiyun.com/mindmb/article/details/7898528
python的unicode编码API文档,英文好的同学可以看一下,加深理解:
https://docs.python.org/3/howto/unicode.html