Python Glossary English

все Python 3Исключенияисключение

UnicodeEncodeError

встроенные исключения

Не удалось закодировать строку в байты: '☃'.encode('ascii').

Синтаксис

raise UnicodeEncodeError

Обратная сторона декодирования: символ в строке есть, но целевая кодировка его не выражает — ascii не знает ни снеговика, ни кириллицы. У студентов это чаще всего не явный encode() в коде, а обычный print() в консоль со старой кодовой страницей: сама строка цела, ломается только вывод. Если данные надо сохранить восстановимыми, errors='backslashreplace' или 'xmlcharrefreplace' лучше 'ignore' — последний молча выкидывает символы навсегда.

Примеры

try:
    '\u2603'.encode('ascii')
except UnicodeEncodeError as e:
    print(type(e).__name__)   # → UnicodeEncodeError

См. также

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