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
