Python - Emale Header Decoding UTF-8

есть какой-нибудь модуль 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)]

34
задан Hans Moser 7 September 2011 в 10:39
поделиться