Подтвердить что ты не робот

Кодирование символов Python с помощью urllib.quote

Я пытаюсь кодировать символы, отличные от ASCII, поэтому я могу поместить их внутри URL-адреса и использовать их в urlopen. Проблема в том, что я хочу кодировать как JavaScript (который, например, кодирует ó как %C3%B3):

encodeURIComponent(ó)
'%C3%B3'

Но urllib.quote в python возвращает ó как %F3:

urllib.quote(ó)
'%F3'

Я хочу знать, как добиться кодировки, такой как javascript encodeURIComponent в Python, а также, если я могу кодировать символы не ISO 8859-1, такие как китайский. Спасибо!

4b9b3361

Ответ 1

Вы хотите убедиться, что используете юникод.

Пример:

import urllib

s = u"ó"
print urllib.quote(s.encode("utf-8"))

Выходы:

%C3%B3