假设我要将以下字符串解码为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'
任何帮助?
答案 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字符串。