0

我正在用 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 字符串。

4

1 回答 1

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 的等价物是urllib.parse.unquote().

于 2013-08-23T13:25:56.150 回答