[Python-de] Re: Unicode - Bläue (Umlaute mit Absicht im Header)

Gerhard Häring gerhard.haering at opus-gmbh.net
Wed Nov 6 20:38:32 EST 2002


In article <KGEPLGONBPHFGIHOBLCKEEGMCKAA.gerson.kurz at t-online.de>, Gerson Kurz wrote:
> [...]
>     self.fh.write(schmarrn_elender.encode("utf-16le"))
> [...]
> Frage 1: Warum muß ich den "<type 'unicode'>" noch mal als Unicode encoden?
> Der Laie würde sagen das ist doch redundant?

UnicodeType sieht man am besten als etwas Abstraktes, d. h. wie der seine
Daten intern speichert, geht uns nix an. Tatsächlich kann man das beim
Übersetzen von Python sogar beeinflussen.  Wenn du eine spezielle
Repräsentation des Unicode-Strings als Bytestring haben willst, musst du
deshalb immer das entspr. Encoding angeben.

> Frage 2: Angenommen, ich möchte im String "<" durch "&lt;" ersetzen.
> [...]
> Möglichkeit b)
> 
>       schmarrn_elender = cgi.escape(schmarrn_elender)

Python 2.2.2 (#37, Oct 14 2002, 17:02:34) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cgi
>>> cgi.escape(u"Ölwechsel <-- dringend notwendig")
u'\x99lwechsel &lt;-- dringend notwendig'

Scheint hinzuhauen. Wohl ein Terminalproblem bei dir oder eine ältere
Python-Version.

> [...] Ach ja, mir ist entfernt bewusst, daß es sowas wie Mimeencoding von
> Umlauten z.B. in Mailheadern gibt - (und ich hoffe auf ein entsprechendes
> Püdong-Modul dazu),

Gibt es ab 2.2: email

> aber es geht z.B. auch um Verzeichnisse

Linux verwendet AFAIK latin1 für Verzeichnisnamen.  Jedenfalls schaut das
für mich so aus als ob.

> - ich würde gerne die Vz-Struktur meines 2Gb-Outlook-pSts in "die neue
> Welt" rüberretten, und zumindest KMail scheint das ja zu können.

Kannst ja mal http://sourceforge.net/projects/ol2mbox versuchen. Speichert
mbox. Bei einem 2 GB-Postfach eines Arbeitskollegen ist eine ältere Version
allerdings bei 50 % ausgestiegen. Die letzte ist von 1.  November,
vielleicht geht's jetzt besser. Ich hab's mit mingw und dem mitgelieferten
Makefile auf Anhieb unter Windows übersetzen können.

-- Gerhard






More information about the Python-de mailing list