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