Мотивация:
s = 诶
Это не символ ASCII, и нам нужно выдать ошибку, говорящую что-то вроде «Строка», не может быть закодировано с использованием кодировки ASCII
Но еслимы делаем что-то вроде
raise UnicodeEncodeError('The string %s cannot be encoded using the encoding
%s',%(s, encoding))
Выше приведено сообщение об ошибке.но если мы просто обойдемся без указания какой-либо кодировки:
print(s)
诶
Я думаю, это потому, что он просто сбрасывает байты в строку.
Также что-то подобное вызовет ошибку:
print ('{}'.format(str(s)))
и ниже приведены преобразования в юникоде:
print('%s' ,%repr(s))
u'\u8bf6'
есть способ получить текст, который был исходным текстом в выводе ошибки.