Задать вопрос
@Sushkov
">alert("yohoho")

Как превести str к нормальному виду в Python 3?

Получаю вот такую строку =?UTF-8?B?UmVsZWFzZS5yYXI=?=, типа str, как превести ее к человеческому виду?
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Оценить 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
petermzg
@petermzg
Самый лучший программист
Так у вас "UTF-8" это кодировка в которой результат,
"B" это походу указатель на base64,
т.к. "UmVsZWFzZS5yYXI=" это равно "Release.rar" в этой кодировке.
"?" - разделитель
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@abcd0x00
Нужно сначала разделить на пары, а потом в цикле склеивать.
>>> import email.header
>>> 
>>> s = "=?UTF-8?B?UmVsZWFzZS5yYXI=?="
>>> 
>>> email.header.decode_header(s)
[(b'Release.rar', 'utf-8')]
>>>


В одной строке может быть несколько разных частей в разных кодировках (бывают и неизвестные кодировки). Так что нужно писать отдельную функцию, которая учитывает любые варианты.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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