есть какой-нибудь модуль Python, который помогает декодировать различные формы кодированных почтовых заголовков, в основном субъекта, для простых - скажем - строки UTF-8?
здесь Предполагают ли примерные заголовки темы из почтовых файлов, которые у меня есть:
Subject: [ 201105311136 ]=?UTF-8?B?IMKnIDE2NSBBYnM=?=. 1 AO;
Subject: [ 201105161048 ] GewSt:=?UTF-8?B?IFdlZ2ZhbGwgZGVyIFZvcmzDpHVmaWdrZWl0?=
Subject: [ 201105191633 ]
=?UTF-8?B?IERyZWltb25hdHNmcmlzdCBmw7xyIFZlcnBmbGVndW5nc21laHJhdWZ3ZW5kdW4=?=
=?UTF-8?B?Z2VuIGVpbmVzIFNlZW1hbm5z?=
текстовое sting - Text
Text - encoded String
Текстообразная строка - кодированная строка
encodig может быть также что-то еще, как ISO 8859- 15
Обновление 1: Я забыл упомянуть, я попробовал Email.Header.decode_Header
for item in message.items():
if item[0] == 'Subject':
sub = email.header.decode_header(item[1])
logging.debug( 'Subject is %s' % sub )
Это выходы
Отладка: root: Public - это [('[201101251025] Elstam; =? UTF-8? B? Ifzlcmbdvgd1bmcgdm9tidix? =. Januar 2011 ', None)]
, который на самом деле не помогает.
Обновление 2: Благодаря Ингмар HUPP в комментариях.
Первый пример декодирует в список двух теплов:
Печать decode_header ("" "[201105161048] Gewst: =? UTF-8? B? Ifdlz2zhbgwgzgvyifzvcmzdphvmawdrzwl0? = "" ")
[('[201105161048] Gewst:', none), ('wegfall der vorl \ xc3 \ xa4ufigkeit', «UTF-8»)]
Это всегда [(строка, кодировка), (строка, кодировка), ...] так что мне нужен цикл для объединения всех элементов [0] в одну строку или как получить Все в одной строке?
Тема: [201101251025] elstam; =? UTF-8? B? Ifzlcmbdvgd1bmcgdm9tix? =. Januar 2011
не хорошо декодирует:
Печать decode_header ("" "[201101251025] elstam; =? UTF-8? B? Ifzlcmbdvgd1bmcgdm9tixix? =. Januar 2011" "")
[('[201101251025] elstam; =? UTF-8? B? Ifzlcmbdvgd1bmcgdm9tix? =. Januar 2011', None)]