Найти - Пользователи
Полная версия: Декодирование строк
Начало » Python для новичков » Декодирование строк
1
ivanzzzz
Как декодировать подобные строки
'=?koi8-r?B?88/Pwt3FzsnFIM8310126838'
? Ну и кодировка может быть не только koi8-r.
py.user.next
  
>>> 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КмЭ'
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB