Как преобразовать тему электронной почты из «? UTF-8? …? =» В читаемую строку?

Возможный дубликат:
кодирование / декодирование строки

Теперь объект выглядит так: =? UTF-8? B? 0J / RgNC + 0LLQtdGA0LrQsA ==? =

Часть между =?UTF-8?B? и ?= – строка с кодировкой base64. Извлеките эту часть, а затем расшифруйте ее.

 import base64 #My buggy SSH account needs this to write unicode output, you hopefully won't import sys import codecs sys.stdout = codecs.getwriter('utf-8')(sys.stdout) encoded = '=?UTF-8?B?0J/RgNC+0LLQtdGA0LrQsA==?=' prefix = '=?UTF-8?B?' suffix = '?=' #extract the data part of the string middle = encoded[len(prefix):len(encoded)-len(suffix)] print "Middle: %s" % middle #decode the bytes decoded = base64.b64decode(middle) #decode the utf-8 decoded = unicode(decoded, 'utf8') print "Decoded: %s" % decoded 

Вывод:

 Middle: 0J/RgNC+0LLQtdGA0LrQsA== Decoded: Проверка 

Возможно, вы можете использовать функцию decode_header: http://docs.python.org/library/email.header.html#email.header.decode_header