0
我得到一個列表= [0x97,0x52],而不是unicode對象。這是一個字符「青」(u'\ u9752')的unicode。我怎樣才能將這個列表首先更改爲unicode對象,然後編碼爲'UTF-8'?如何將列表解碼爲'UTF-8'
我得到一個列表= [0x97,0x52],而不是unicode對象。這是一個字符「青」(u'\ u9752')的unicode。我怎樣才能將這個列表首先更改爲unicode對象,然後編碼爲'UTF-8'?如何將列表解碼爲'UTF-8'
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 '青'
不知道這是否是最優雅的方式,但它適用於這個特定的例子。
>>> ''.join([chr(x) for x in [0x97, 0x52]]).decode('utf-16be')
u'\u9752'
+1。或者,在一行上:'print unichr(bytes [0] * 256 + bytes [1])。encode('utf-8')' –