【发布时间】:2014-11-04 22:18:10
【问题描述】:
我在交互式 Python 2.7 终端中(终端默认输出为“utf-8”)。我有一个来自互联网的字符串,我们称之为a
>>> a
u'M\xfcssen'
>>> a[1]
u'\xfc'
我想知道为什么它的值不是ü 所以我试试
>>> print(a)
Müssen
>>> print(a[1])
ü
按预期工作。
所以我的第一个问题是,print a 是做什么的,如果我只输入 a 就会丢失?
出于好奇:为什么我在同一个 python 终端会话中得到以下输出?
>>> "ü"
'\xc3\xbc'
>>> print "ü"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/codecs.py", line 351, in write
data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
>>> print u"ü"
ü
【问题讨论】:
标签: python unicode character-encoding terminal output