Python 3.0+urllib.parseфункция
urllib.parse.quote_from_bytes()
процентное кодирование
То же, что quote(), но принимает bytes: кодирует каждый байт вне безопасного набора как %XX.
Синтаксис
urllib.parse.quote_from_bytes(bytes, safe='/')
Нужна, когда данные уже в байтах в нужной кодировке, например в cp1251 для старого сервера: quote() сам перевёл бы строку в UTF-8. Строку функция не принимает — это TypeError. Как и у quote(), safe='/' по умолчанию, и косая черта не кодируется.
Примеры
from urllib.parse import quote_from_bytes
print(quote_from_bytes('ё'.encode('cp1251'))) # → %B8
print(quote_from_bytes(b'\xff /')) # → %FF%20/
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности