0

我有一个列表 = [0x97, 0x52],而不是 unicode 对象。这是字符“青”(u'\u9752')的unicode。如何先将此列表更改为 unicode 对象,然后再编码为“UTF-8”?

4

2 回答 2

2
bytes = [0x97, 0x52]

code = bytes[0] * 256 + bytes[1]  # build the 16-bit code
char = unichr(code)               # convert code to unicode
utf8 = char.encode('utf-8')       # encode unicode as utf-8
print utf8                        # prints '青'
于 2013-10-30T15:24:31.923 回答
0

不确定这是否是最优雅的方式,但它适用于这个特定的例子。

>>> ''.join([chr(x) for x in [0x97, 0x52]]).decode('utf-16be')
u'\u9752'
于 2013-10-30T15:28:20.523 回答