将以十六进制格式保存的字符串转换为python中的上一个表单

时间:2013-08-23 13:20:58

标签: python unicode utf-8 hex

我正在用Python编写程序 我有基于unicode字符的文本,它以下列格式保存在文件中: %D0%9D%D2%B1%D1%80%D1%81%D2%B1%D0%BB%D1%82%D0%B0%D0%BD_%D3%98%D0%B1%D1%96%D1 %88%D2%B1%D0%BB%D1%8B_%D0%9D%D0%B0%D0%B7%D0%B0%D1%80%D0%B1%D0%B0%D0%B5%D0%B2 我想把它解码回utf8。

所以,如果我有:

title = "%D0%9D%D2"

如何将其解码回UTF8字符串。

1 个答案:

答案 0 :(得分:2)

该字符串似乎使用了百分比编码,这意味着您首先必须对其进行转换。你可以做点什么

import urllib
s = "%D0%9D%D2%B1%D1%80%D1%81%D2%B1%D0%BB%D1%82%D0%B0%D0%BD_%D3%98%D0%B1%D1%96%D1%88%D2%B1%D0%BB%D1%8B_%D0%9D%D0%B0%D0%B7%D0%B0%D1%80%D0%B1%D0%B0%D0%B5%D0%B"
print urllib.unquote(s)

其中输出

Нұрсұлтан_Әбішұлы_Назарбаев

urllib.unquote的结果会为您提供一个unicode转义字符串。我认为Python 3 equivelant是urllib.parse.unquote()