python - पायथन IMAP:=? Utf-8? क्यू? विषय स्ट्रिंग में




email character-encoding (2)

एमआईएम की शब्दावली में, उन एन्कोडेड खंड को एन्कोडेड-शब्द कहा जाता है। आप उन्हें इस तरह व्याख्या कर सकते हैं:

import email.Header
text, encoding = email.Header.decode_header('=?utf-8?Q?Subject?=')[0]

email.Header लिए दस्तावेज़ देखें। अधिक विवरण के लिए email.Header

मैं IMAP साथ नया ईमेल प्रदर्शित कर रहा हूं, और सब कुछ ठीक दिखता है, सिवाय एक संदेश विषय को दिखाता है:

=?utf-8?Q?Subject?=

मेरे द्वारा यह कैसे किया जा सकता है?


यह एक एमआईएम एन्कोडेड-शब्द है आप इसे email.header साथ पार्स कर सकते हैं। email.header :

import email.header

def decode_mime_words(s):
    return u''.join(
        word.decode(encoding or 'utf8') if isinstance(word, bytes) else word
        for word, encoding in email.header.decode_header(s))

print(decode_mime_words(u'=?utf-8?Q?Subject=c3=a4?=X=?utf-8?Q?=c3=bc?='))






mime