python3解码外部utf8字符串

时间:2016-10-31 18:27:50

标签: python utf-8

假设我要将以下字符串解码为utf-8:

str ='\\u00d7\\u0090\\u00d7\\u0090\\u00d7\\u0090'
# expect 'אאא'

使用python 3,我希望以下内容可以正常工作,但它不会:

bytes(str, 'ascii').decode('unicode-escape')
# prints '×××'
bytes(str, 'ascii').decode('utf-8')
# prints '\\u00d7\\u0090\\u00d7\\u0090\\u00d7\\u0090'

任何帮助?

1 个答案:

答案 0 :(得分:1)

您可以通过encode / decode进行多次旅行。

print(st.encode('ascii').decode('unicode-escape').encode('iso-8859-1').decode('utf-8'))

第一个是the preferred alternate to bytes。第二个将转义序列转换为它们的等效字符。第三种方法利用基于ISO-8859-1的Unicode对前256个代码点将这些字符直接转换回字节。最后,您可以解码UTF-8字符串。