在接收Unicode字符的字节序列时,python解释器如何决定解码和获取代码点的编码方案?

在接收Unicode字符的字节序列时,python解释器如何决定解码和获取代码点的编码方案?,python,python-2.7,unicode,encoding,utf-8,Python,Python 2.7,Unicode,Encoding,Utf 8,我正在使用python 2.7。我的终端的编码方案设置为“UTF-8”。Python的默认编码方案是“ascii” >>> sys.getdefaultencoding() 'ascii' >>>sys.getdefaultencoding() “ascii” 我在PythonInteractiveShell上键入了以下内容 >>> x = u'à' >>> x u'\xe0' >>>x=u'a' >>>x u'\xe0' 它打印字符“a”的Unicode码点。python解释器接收的字节序列为

我正在使用python 2.7。我的终端的编码方案设置为“UTF-8”。Python的默认编码方案是“ascii”

>>> sys.getdefaultencoding() 'ascii' >>>sys.getdefaultencoding() “ascii” 我在PythonInteractiveShell上键入了以下内容

>>> x = u'à' >>> x u'\xe0' >>>x=u'a' >>>x u'\xe0' 它打印字符“a”的Unicode码点。python解释器接收的字节序列为:

x space = space u quote à - 1st byte à - 2nd byte quote 1111000 100000 111101 100000 1110101 100111 11000010 10100001 100111 x空格=空格u引号A-1字节A-2字节引号 1111000 100000 111101 100000 1110101 100111 11000010 10100001 100111 现在,python解释器如何决定应该使用什么编码方案来从字节序列“11000010101000001”获取Unicode代码点?是否使用设置sys.stdin.encoding

>>> sys.stdin.encoding 'UTF-8' >>>sys.stdin.encoding “UTF-8”
是的,Python检测终端编码(如果可能的话),并对终端输入使用
sys.stdin.encoding
,对终端输出使用
sys.stdout.encoding

在脚本中,将使用源代码中的字节,但Python需要使用特殊注释了解源代码编码。因此,如果以下内容作为脚本保存在UTF-8中,您将得到相同的结果

# coding: utf-8
x = u'à'

是的,Python检测终端编码(如果可能的话),并对终端输入使用
sys.stdin.encoding
,对终端输出使用
sys.stdout.encoding

在脚本中,将使用源代码中的字节,但Python需要使用特殊注释了解源代码编码。因此,如果以下内容作为脚本保存在UTF-8中,您将得到相同的结果

# coding: utf-8
x = u'à'