小编Sho*_*ang的帖子

Python如何使用十六进制字符解码unicode

我已经从Web爬网脚本中提取了一个字符串,如下所示:

u'\xe3\x80\x90\xe4\xb8\xad\xe5\xad\x97\xe3\x80\x91'
Run Code Online (Sandbox Code Playgroud)

我想u'\xe3\x80\x90\xe4\xb8\xad\xe5\xad\x97\xe3\x80\x91'用utf-8 解码。使用http://ddecode.com/hexdecoder/,我可以看到结果是'????'

我尝试使用以下语法,但失败了。

msg = u'\xe3\x80\x90\xe4\xb8\xad\xe5\xad\x97\xe3\x80\x91'
result = msg.decode('utf8')
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordi
nal not in range(128)
Run Code Online (Sandbox Code Playgroud)

请问如何正确解码字符串?

感谢帮助。

python utf-8 python-2.x

5
推荐指数
1
解决办法
4852
查看次数

标签 统计

python ×1

python-2.x ×1

utf-8 ×1