我在交互式Python 2.7終端(終端默認輸出爲「utf-8」)。我從互聯網上一個字符串,讓我們把它叫做a
終端中的Python字符處理
>>> 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"ü"
ü