Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 16, 2017 23:01:14

ivanzzzz
Зарегистрирован: 2016-08-23
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Декодирование строк

Как декодировать подобные строки

'=?koi8-r?B?88/Pwt3FzsnFIM8310126838'
? Ну и кодировка может быть не только koi8-r.

Офлайн

#2 Фев. 17, 2017 02:06:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10019
Репутация: +  857  -
Профиль   Отправить e-mail  

Декодирование строк

  
>>> import email.message
>>> 
>>> def decode_header(header, enc='latin1'):
...     res = ''
...     defenc = 'latin1'
...     for i in email.header.decode_header(header):
...         t, e = i
...         if e:
...             if e != 'unknown-8bit':
...                 s = t.decode(e)
...             else:
...                 s = t.decode(enc or defenc)
...         else:
...             if isinstance(t, str):
...                 s = t
...             elif re.search(br'\\u[\da-f]{4}', t):
...                 s = t.decode('unicode_escape')
...             else:
...                 s = t.decode(defenc)
...         res += s
...     return res
... 
>>> decode_header('=?koi8-r?B?88/Pwt3FzsnFIM8310126838?=')
'Сообщение о7вMvКмЭ'
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version