In comp.lang.python, DFS  <[email protected]> wrote:
> On 10/25/2019 10:57 PM, MRAB wrote:
>> Here's a simple example, based in your code:
>> 
>> from email.header import decode_header
>> 
>> def test(header, default_encoding='utf-8'):
>>       parts = []
>> 
>>       for data, encoding in decode_header(header):
>>           if isinstance(data, str):
>>              parts.append(data)
>>           else:
>>              parts.append(data.decode(encoding or default_encoding))
>> 
>>       print(''.join(parts))
>> 
>> test('=?iso-8859-9?b?T/B1eg==?= <[email protected]>')
>> test('=?utf-8?Q?=EB=AF=B8?= <[email protected]>')
>> test('=?GBK?B?0Pu66A==?= <[email protected]>')
>> test('=?UTF-8?B?zp3Or866zr/PgiDOks6tz4HOs86/z4I=?= 
>> <[email protected]>')
> I don't think it's working:

It's close. Just ''.join should be ' '.join.

> $ python decode_utf.py
> O≡uz<[email protected]>
> δ»╕<[email protected]>
> ╨√║Φ<[email protected]>
> ╬¥╬»╬║╬┐╧é ╬Æ╬¡╧ü╬│╬┐╧é<[email protected]>

Is your terminal UTF-8? I think not.

Elijah
------
answered with C code to do this in comp.lang.c
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to