AW: AW: [Python-de] Re: Alptraum Unicode

Uwe Schmitt schmitt at num.uni-sb.de
Son Dez 28 13:45:48 CET 2003


> [Uwe Schmitt Sun, Dec 28, 2003 at 12:47:47PM +0100]
> >
> > Hi,
> >
> > ich lass den geposteten Spaghetti-Code mal weg, ist
> > für eine Liste/Newsgroup/... eh viel zu lange...
>
> Hmmm, ich finde, es gibt keinen guten Grund, solche abfaelligen
> Bemerkungen ("Spagetti Code") zu schreiben, selbst wenn der gepostete
> Code lang ist.

War eigentlich nicht wertend gemeint,...

>
> Als Faustregel sehe ich:
>
> intern *immer* unicode objekte verwenden und bei Interaktionen mit
> fremden Subsystemen (xml-parser, latex-output etc.) die Encodings
> ermitteln/produzieren, aber intern weiterhin alles in unicode
> halten.

Genau diese Vorgehensweise führt zu einer großen Wiederverwendbarkeit
und Orthogonalität der einzelnen Komponenten.

>
> Ich glaube, vieles waere einfacher, wenn man die automatische
> Konvertierung (Coercion) von Bytestrings nach unicode-zeichenketten
> wenigstens zu debug-zwecken komplett unterbinden koennte.  Der
> automatische Versuch, bei einer 'bytestring + unicodestring' Operation
> den bytestring als US-ASCII kodiert zu betrachten und implizit in ein
> Unicode-Objekt zu wandeln, ist vielleicht "convenient" (insbesondere
> fuer US-spezifische Applikationen :-) aber fuehrt eben manchmal zu
> schwer debugbaren Problemen.

Ich benutze daher "%s%s" % (str1, str2) bzw. u"%s%s" % (str1, str2)
statt str1+str2. Gibt mehr Fehlermeldungen aus, und man sieht
dem Code auch an, was am Ende rauskommt..

Gruß, Uwe