几个基本的问题说我这样做:约编码,Unicode和标准输出
>>> 'é' #1
'\xc3\xa9'
>>> u'é' #2
u'\xe9'
>>> print u'é' #3
é
这是我的理解:
- 当我粘贴
'é'
到我的Python会话,byteArray包含2 字节以某种方式降落到stdin
,其中Python 读取。相同的字节发送到stdout
并以十六进制形式显示。 - 这次Python必须对字节进行解码:它读取
sys.stdin.encoding
,找到utf-8
,并将2个字节解码为unicode。然后我不确定会发生什么。我们可以发送一个unicode字符串到stdout
吗?或者,也许Python采用unicode代码点的十六进制表示,将其编码为utf-8
并发送至stdout
? - Python将2个字节解码为unicode。然后
print
再次编码utf-8
并将结果发送到stdout
。
我的理解是否正确?