在python2中我们常常在文件头部写入
#encoding: utf-8
reload(sys)
sys.setdefaultencoding("utf-8")
下面解释下这2个编码设置的作用
1. encoding: utf-8 #默认编码方式
2. sys.setdefaultencoding(“utf-8”) #默认解码方式
规则1
print 后面如果是unicode(‘str’) 那么编码就会按照sys.stdout.encoding来自动编码, 在windows中为GBK,在linux中为UTF-8
规则2
pirnt 后面如果是’str’ 不带unicode那么就按照指定的解码与编码方式, 如果没有指定就读取默认的解码和编码方式
特例:
raw_input(‘中文’) , 其实也是一种print 只不过编码的时候不是按照sys.stdout.encoding来编码而是需要手动指定,如果不指定就用默认encoding: utf-8来编码