Как к проценту - кодируют параметры URL в Python?

Страница, которую Вы связываете с http://msdn.microsoft.com/en-us/library/6x6y6z4d.aspx , говорит, для чего они были, который был способом обработать nullable bools, прежде чем nullable типы значения были представлены.

я предположил бы в наше время, что они хороши для того же вида материала как ArrayList - т.е. абсолютно ничто.

276
задан Aminah Nuraini 22 April 2016 в 21:03
поделиться

1 ответ

Из документов :

urllib.quote(string[, safe])

Заменить специальные символы в строке используя escape-последовательность% xx. Буквы, цифры, и символы "_.-" никогда не цитируется. По умолчанию эта функция предназначен для цитирования раздела пути URL-адреса. Необязательный безопасный параметр указывает дополнительные символы, которые не следует заключать в кавычки - по умолчанию значение '/'

Это означает, что передача '' для безопасности решит вашу первую проблему:

>>> urllib.quote('/test')
'/test'
>>> urllib.quote('/test', safe='')
'%2Ftest'

Что касается второй проблемы, есть отчет об ошибке здесь . По-видимому, это было исправлено в python 3. Вы можете обойти это, закодировав как utf8 следующим образом:

>>> query = urllib.quote(u"Müller".encode('utf8'))
>>> print urllib.unquote(query).decode('utf8')
Müller

Кстати, посмотрите urlencode

Обратите внимание , что urllib.quote перемещен в urllib.parse.quote в Python3

368
ответ дан 23 November 2019 в 02:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: