Задать вопрос
@GlebGrig

Как декодировать странный текст со страницы?

При запросе на api своего школьного сайта получаю данные:
\u0421\u0434\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u043d\u0438\u043a\u0443\u043b, 15 \u0430\u043f\u0440\u0435\u043b\u044f. \r\n\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0441\u044c\u0431\u0430 \u043e\u0444\u043e\u0440\u043c\u043b\u044f\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 "\u043a\u0430\u043a \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e" \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0435\u043c "\u043a\u0430\u043a \u0443\u0447\u0438\u043b\u0438", \u0430 \u043d\u0435 \u0442\u0430\u043a, \u0431\u0443\u0434\u0442\u043e \u0431\u044b \u0432\u044b \u0435\u0433\u043e \u043d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435 \u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442 \u043f\u0435\u0440\u0435\u0434 \u0441\u0434\u0430\u0447\u0435\u0439 \u0434\u0435\u043b\u0430\u043b\u0438. \u041f\u0438\u0441\u0430\u0442\u044c \u0440\u0430\u0437\u0431\u043e\u0440\u0447\u0438\u0432\u043e \u0438 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e.

А хочу получить:
Сдать после каникул, 15 апреля.&;Убедительная просьба оформлять решение &;как положено&; в соответствии с тем &;как учили&;, а не так, будто бы вы его на коленке за 5 минут перед сдачей делали. Писать разборчиво и аккуратно.


Пожалуйста посоветуйте как такое декодировать в третьем питоне.
p.s. Страница api с которой паршу выглядит так же и в браузере т.е там не читаемый текст в этой же кодировке.
  • Вопрос задан
  • 218489 просмотров
Подписаться 3 Простой 2 комментария
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Это не "странный текст", а unicode escape sequence, в которые, в соответствии со стандартом JSON, должны преобразовываться символы не входящие в диапазон ASCII. Просто преобразуйте строку, содержащую JSON, в данные Python с помощью json.loads().
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
www.online-decoder.com/ru
Поиграйтесь с decode/encude и указанными кодировками
Ответ написан
@MAD_CHE
Проверяешь языки командой:
locale

На месте LC_CTYPE должна быть пометка UTF-8, если нет, то пишешь:
export LC_CTYPE="en_US.UTF-8"

А если не помогло, то меняй всем значениям кодировку:
export LC_ALL="en_US.UTF-8"

Я сразу прописал для всех и стал получать инфу на человеческом языке.
Ответ написан
Комментировать
@Gang11111
{"rawtext":[{"text":"2340 -\u0438\u043b\u0438+ (\u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0437-\u0437\u0430 \u043f\u043e\u0447\u0435\u0440\u043a\u0430) 1650"}]}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы