将字节序列转换为Unicode字符串是通过在该str(在Python 2.x中)或字节(Python 3.x)对象上调用decode()方法来完成的.
如果你实际上有一个字节列表,那么,为了获得这个对象,你可以使用”.join(bytelist)或b”.join(bytelist).
您需要指定用于编码原始Unicode字符串的编码.
但是,术语“Python字符串”有点模糊,也与版本有关. Python str类型代表Python 2.x中的字节字符串和Python 3.x中的Unicode字符串.所以,在Python 2中,只需要执行’.join(bytelist)就会给你一个str对象.
Python 2的演示:
In [1]: 'тест'
Out[1]: '\xd1\x82\xd0\xb5\xd1\x81\xd1\x82'
In [2]: bytelist = ['\xd1', '\x82', '\xd0', '\xb5', '\xd1', '\x81', '\xd1', '\x82']
In [3]: ''.join(bytelist).decode('utf-8')
Out[3]: u'\u0442\u0435\u0441\u0442'
In [4]: print ''.join(bytelist).decode('utf-8') # encodes to the terminal encoding
тест
In [5]: ''.join(bytelist) == 'тест'
Out[5]: True