Python Glossary English

Python 3.0+urllib.parseфункция

urllib.parse.unquote_to_bytes()

процентное кодирование

Заменяет %XX на байты и возвращает bytes, ничего не декодируя, — когда кодировка заранее неизвестна.

Синтаксис

urllib.parse.unquote_to_bytes(string)

unquote() молча подставляет «�» вместо байтов не в UTF-8, а эта функция отдаёт их как есть, и кодировку можно выбрать самому — например cp1251 для адресов старых сайтов. Принимает str и bytes. «+» не трогает.

Примеры

from urllib.parse import unquote, unquote_to_bytes
raw = unquote_to_bytes('%B8')
print(raw, raw.decode('cp1251'))  # → b'\xb8' ё
print(unquote('%B8') == '\ufffd')  # → True — байт потерян

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности