8
作爲標題,有沒有理由不使用str()將unicode字符串轉換爲str?Python str(u'a')和u'a'.encode('utf-8')之間的區別是什麼
>>> str(u'a')
'a'
>>> str(u'a').__class__
<type 'str'>
>>> u'a'.encode('utf-8')
'a'
>>> u'a'.encode('utf-8').__class__
<type 'str'>
>>> u'a'.encode().__class__
<type 'str'>
更新:感謝您的回答,也不知道如果我創建使用特殊字符的字符串它會自動轉換爲UTF-8
>>> a = '€'
>>> a.__class__
<type 'str'>
>>> a
'\xe2\x82\xac'
也就是在Python 3一個Unicode對象