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

robert_kuzelj at yahoo.com robert_kuzelj at yahoo.com
Wed Nov 6 20:51:22 EST 2002


<bruell><kugel>

zugegebener massen ich wuesste nicht von was du sprichst,
wenn ich nicht anfang des jahres auch versucht haette
jede menge daten aus ms-access auszulesen. und dabei
heftigst auf die schnauze geflogen bin, weil sowohl
daten als auch metadaten deutsche umlaute enthielten.

einer meiner haeufigsten gedanken damals war:
"es  interessiert mich genauso sehr ob diesen code und
und inhalt jemand ausserhalb von D lesen kann wie als
ob ein sack reis in china umfaellt."

prinzipiell ist es ja ok, dass ms-produkte und auch
python unicode enabled sind - zur not auch per default.

aber das ich die ganze gruetze nicht abschalten kann -
das nervt!

ciao robertj


------------------------------------------------------------
Robert Kuzelj
Gaissacherstrasse 7           email: robert_kuzelj at yahoo.com
81371 Muenchen                tel:   0177/5302230

the trinity of desirables of (software) architecture:
Firmitas, Utilitas, Venustas (marcus vitruvius 20 BC)
strength, utility, beauty

----- Original Message -----
From: "Gerson Kurz" <Gerson.Kurz at t-online.de>
To: <python-de at python.net>
Sent: Wednesday, November 06, 2002 8:32 PM
Subject: [Python-de] Unicode - Bläue (Umlaute mit Absicht im Header)


> Ich muß mich mal wieder mit Unicode rumärgern, wobei der Ärger einerseits
> aus meiner zugegebenermaßen sehr oberflächlichen Kenntnis von Unicode
> resultiert, andererseits aus dem Wetter.
>
> Also. Ich habe "Strings", die von OLE (genauer Outlook) stammen. Die
Strings
> enthalten Umlaute - z.B. das Paradebeispiel "Persönliche Ordner". Ich
möchte
> die Datei so schreiben, daß mein Linux (genauer, mbox-basierte Mehler) die
> Dateien lesen können. Die Outlook-Strings haben "<type 'unicode'>".
>
> Meine
>
Oldskool-Lang-Lebe-Der-Amiga-1985-(Naturgemäß-nur-der-Amiga1000-mit-US-Tasta
> tur-und-Kickstart1.3)-Zeichensatzkenntnisse sind: Bytes sind Bytes. Du
> kannst die Bytes unter Windows wegschreiben, und unter Linux reinnudeln.
> Wenn aus dem Byte ein "ü" wird, dann liegt das am Zeichensatz: im Prinzip
> kann man sich 'ne Codepage sparen, wenn man den richtigen Font hat. Ein
Byte
> ist einfach nur eine Zahl.
>
> Im März 2002 hatte ich schon mal was geschrieben, und auch meine
> Unicode-Kenntnisse zusammengefasst, unter
> <news:3c846d80.95456984 at news.isar.de> (oder Google Groups suche nach
"Python
> Unicode Blues"). Dank der damaligen Antworten von Martin von Loewis konnte
> ich mir folgendes zusammenbasteln:
>
> --------------------------------------------
> self.fh = open(filename,"wb")
> self.fh.write( codecs.BOM_LE )
>
> def ist_es_nicht_grausam(schmarrn_elender):
>     self.fh.write(schmarrn_elender.encode("utf-16le"))
>
> ja_wirklich_es_ist_grausam = ist_es_nicht_grausam
> ...
> ja_wirklich_es_ist_grausam( string_den_ich_von_outlook_bekam )
> ...
> self.fh.close()
> --------------------------------------------
>
> Prima, funktioniert einwandfrei.
>
> Frage 1: Warum muß ich den "<type 'unicode'>" noch mal als Unicode
encoden?
> Der Laie würde sagen das ist doch redundant?
>
> Frage 2: Angenommen, ich möchte im String "<" durch "&lt;" ersetzen.
>
> Möglichkeit a)
>
> schmarrn_elender = str(schmarrn_elender).replace("&","&lt;")
>
> Möglichkeit b)
>
>       schmarrn_elender = cgi.escape(schmarrn_elender)
>
> Beide Möglichkeiten werfen wunderprächtige Exceptions, wenn der prima
tolle
> Unicodestring Umlaute enthält ;( - die beliebten Ordinal not in range
> fehler; sind also eigentlich keine Möglichkeiten, wie wir Philosophen
> meinen.
>
> Frage 3: Angenommen, es ist mir egal, ob in China geborene
> Suaheliindianerdichterfürsten Mundartpoeme von Win nach Lin exportieren
> können - ich möchte einfach ein "ö" 8-bit abspeichern, und 8-bit unter
Linux
> einlesen, unter der Voraussetzung gleiche Codepage. Das ist ja z.B. der
> Fall, wenn ich mit dem popeligen Notepad ein "ö" speichere. Es kann also
> nicht völlig jenseits des Menschenmöglichen sein, oder? Zumal ja mbox
AFAIK
> auch ganz simples 8-Bit Dateiformat ist, und ich habe gehört, daß auch
unter
> Linux der eine oder andere schon mal Mehl mit Umlauten gelesen haben soll
> (angeblich - ich mag mich irren).
>
> Frage 4: Gibt es ein, äh, UNICODE-Tutorial? Nun ja, es gibt
> http://www.reportlab.com/i18n/python_unicode_tutorial.html
> (faszinierenderweise das erste Ergebnis, wenn man Google mit "Unicode
> Tutorial" quält), welches aber nicht die diversen Formate *erklärt*,
sondern
> einfach nur Codeschnipsel hinwirft. Ich würde (nicht wirklich) das ganze
mal
> *verstehen*, das muß doch möglich sein?
>
> 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), aber es geht z.B. auch um Verzeichnisse - 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.
>
> Frage 5: btst #6,$bfe001
>    bne.s "Frage 5"
>
> (Kleiner Scherz am Rande)
>
>
>
> _______________________________________________
> Python-de maillist  -  Python-de at starship.python.net
> http://starship.python.net/mailman/listinfo/python-de





More information about the Python-de mailing list