maximkv25
@maximkv25
web-developer

Как перекодировать строку состоящую из «крякозябов»?

Никак не удается побороть кодировку
есть у меня строка с такими чудесными символами
text = '�осиф Сталин'
это ответ от api tweeter, делаю стандартную процедуру
text.encode('utf-8').decode('cp1251')
получаю
# cp1251
'Р\xa0пїЅР\xa0ѕСЃР\xa0ёС„ Р\xa0ЎС‚Р\xa0В°Р\xa0В»Р\xa0С‘Р\xa0Р…'
# iso-8859-5
'а\xa0яПНа\xa0б\x95аЁа\x83а\xa0б\x91аЁт\x80\x9e а\xa0а\x8eаЁт\x80\x9aа\xa0ТАа\xa0ТЛа\xa0б\x91а\xa0а\x85'


Как с этим бороться?

Вот что получается по совету Даниила
> /home/
-> print(n.encode('cp1251', 'ignore').decode('utf8', 'ignore'))
(Pdb) n
 
> /home/
-> print(n.encode('cp1251').decode('utf8'))
(Pdb) n
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
DDDsa
@DDDsa
Попробуйте наоборот
text.encode('cp1251').decode('utf8')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы