[Python-de] Mime-Headers verarbeiten?

Martin v. Loewis martin at v.loewis.de
Sat May 4 09:18:07 EDT 2002


tl_news at nexgo.de writes:

> >>> print " ".join(map(lambda x: x[0] ,
> >>> email.Header.decode_header("Gerhard =?iso-8859-
> 15?Q?H=E4ring?=")))
[...]
> Geht das nicht einfacher?

Nicht im allgemeinen Fall: In dem String könnten mehrere verschiedene
Kodierungen verwendet werden, wenn man die Byte-Folgen dann einfach
verkettet, entsteht ein unsinniger String.

Ausserdem stellt sich die Frage, was Du mit dem Bytestring anfangen
willst: I.d.R. willst Du den ja nicht einfach ins Terminal ausgeben,
sondern beispielsweise HTML draus generieren. Dann ist es fatal, die
Kodierung wegzuschmeissen.

email.Util.decode versucht, das Problem zu lösen, indem ein
Unicode-Objekt zurück gegeben wird - das scheitert aber, wenn im
Header Kodierungen verwendet werden, für die Python keine codecs hat.

Ciao,
Martin



More information about the Python-de mailing list