繁体   English   中英

将url编码的字符串转换为python unicode字符串

[英]Convert url encoded string into python unicode string

我具有以以下形式编码的字符串:La + Cit%C3%A9 + De + la + West,它们存储在python的SQLite VARCHAR字段中。

这些显然是UTF-8编码的二进制字符串,转换为urlencoded字符串。 问题是如何将其转换回unicode字符串。 s ='La + Cit%C3%A9 + De + la + West'

我使用了urllib.unquote_plus(s)python函数,但没有将%C3%A9转换为Unicode字符。 我看到的是“西城”,而不是预期的“西城”。

我在Ubuntu而不是Windows上运行我的代码,并且编码为UTF-8。

正如我们所讨论的,问题似乎在于您是从unicode对象而不是字符串开始的。 您需要一个字符串:

>>> import urllib
>>> s1 = u'La+Cit%C3%A9+De+la+West'
>>> type(s1)
<type 'unicode'>
>>> print urllib.unquote_plus(s1)
La Cité De la West

>>> s2 = str(s1)
>>> type(s2)
<type 'str'>
>>> print urllib.unquote_plus(s2)
La Cité De la West

>>> import sys
>>> sys.stdout.encoding
'UTF-8'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM