Если у меня есть эта строка в Python, как мне ее декодировать? - PullRequest
7 голосов
/ 05 января 2010

s = 'Тара% 2520Stiles% 2520Living'

Как мне превратить это в:

Tara Stiles Living

Ответы [ 5 ]

14 голосов
/ 05 января 2010

Вам нужно использовать urllib.unquote, но, похоже, вам нужно использовать его дважды :

>>> import urllib
>>> s = 'Tara%2520Stiles%2520Living'
>>> urllib.unquote(urllib.unquote(s))
'Tara Stiles Living'

После однократного цитирования ваш «% 2520» превращается в «% 20», который после повторного цитирования снова становится «» (пробел).

7 голосов
/ 05 января 2010

Использование:

urllib.unquote(string)

http://docs.python.org/library/urllib.html

4 голосов
/ 05 января 2010
>>> import urllib
>>> s = 'Tara%2520Stiles%2520Living'
>>> t=urllib.unquote_plus(s)
>>> print t
Tara%20Stiles%20Living
>>> urllib.unquote_plus(t)
'Tara Stiles Living'
>>>
0 голосов
/ 29 июня 2018

Если вы используете Python, вы должны использовать urllib.parse.unquote (url), например, следующий код:

import urllib
url = "http://url-with-quoted-char:%3Cspan%3E%20%3C/span%3E"
print(url)
print(urllib.parse.unquote(url))

Этот код выведет следующее:

>>> print(url)
http://url-with-quoted-char:%3Cspan%3E%20%3C/span%3E
>>> print(urllib.parse.unquote(url))
http://url-with-quoted-char:<span> </span>
0 голосов
/ 19 апреля 2014
import urllib

s = 'Tara%2520Stiles%2520Living'
t=''
while s<>t: s,t=t,urllib.unquote(s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...