Ваша строка уже закодирована с некоторой кодировкой. Прежде чем кодировать его на ascii, вы должны сначала декодировать его.
Питон неявно пытается расшифровать его (Вот почему вы получите UnicodeDecodeError
не UnicodeEncodeError
).
Вы можете решить эту проблему путем декодирования в явной форме вашей байтовой строки (используя соответствующую кодировку) перед тем пытается перекодировать его в формате ASCII.
Пример:
s = s.decode('some_encoding').encode('ascii', 'replace')
Используйте правильную кодировку ваша строка была закодирована в первую очередь, вместо 'some_encoding'
.
Вы должны знать, какая кодировка используется в строке, прежде чем вы сможете ее декодировать. Откуда вы взяли строку?