存储编码
一般来说,我们用什么方式进行文件存储,就用什么编码方式对其进行打开,一般使用UTF8进行存储和打开文件即可。
执行编码
Python3中在执行代码时,解释器都会按照UTF8编码格式将脚本文件中的代码加载至内存中,所以一般不会出现问题。
但是在Python2里解释器则是使用ASCII的编码格式进行脚本文件内容的解码。
所以你可能会遇上下面的情况:
SyntaxError:Non-ASCII character .... in file ...
解决这个办法,可以利用头文件代码,让Python解释器在解码脚本文件内容时,以UTF8格式进行解码:
# --*-- coding:UTF8 --*--
# 开始书写你的代码
可以使用sys的getdefaultencoding()方法来查看Python解释器默认采用的执行编码格式:
>>> # Python2
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> # Python3
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'
Unicode字符串
Python2中的str类型,本质是Python3中的bytes,所以仅支持ASCII码表中的字符。
如果想将其转换为Unicode字符串,则必须在前面加上u:
print u"这是Unicode字符串"