2013-03-08 33 views

回答

6

你的終端編碼設置爲UTF-8。您正在計數的字節在編碼字符:

>>> '™' 
'\xe2\x84\xa2' 
>>> len('™') 
3 

使用Unicode來算字符,而不是字節:

>>> u'™' 
u'\u2122' 
>>> len(u'™') 
1 

解碼從終端編碼:

>>> import sys 
>>> '™'.decode(sys.stdin.encoding) 
u'\u2122' 

在Python 3,字符串爲unicode值,Python 2 str類型重命名爲byte(您的輸入與Python 3中的b'™'基本相同)。

您可能需要Python和Unicode的讀了起來: