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