Python Glossary English

все Python 3codecsфункция

codecs.replace_errors()

обработчики ошибок

Обработчик ошибок 'replace': при кодировании ставит '?' вместо символа, при декодировании — знак U+FFFD «�» вместо испорченных байтов.

Синтаксис

codecs.replace_errors(exception)

Замена разная в двух направлениях, и это путает: '?' при encode неотличим от настоящего вопросительного знака в тексте. «�» в выводе почти всегда значит, что байты декодировали не той кодировкой. Число «�» не равно числу потерянных символов: одна испорченная последовательность UTF-8 может дать несколько.

Примеры

print('a€b'.encode('latin-1', 'replace'))  # → b'a?b'
print(b'a\xffb'.decode('utf-8', 'replace'))  # → a�b

См. также

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