[Python-de] Was sein sollte

Gerson Kurz Gerson.Kurz at t-online.de
Mit Dez 31 07:46:46 CET 2003


Martin v. Loewis schrub:

> > 1) "DeprecationWarning: Non-ASCII character" werde ersatzlos gestrichen
und
> Willst Du das wirklich? Aus dieser Warnung wird irgendwann mal ein
> Syntaxfehler. Dann werden sich die Leute beschweren, nicht gewarnt
> worden zu sein.

Bitte bitte sag daß das nicht wahr ist. Zeit für einen fork oder was?

> > Frage: Was sind eigentlich die gravierenden Nachteile eines geänderten
> > defaultencodings?

> a) Es ist eurozentrisch

Überraschung: ICH bin eurozentrisch. Insofern habe ich damit kein Problem.

> b) Es ist Windows-inkompatibel
> c) Es ist Mac-inkompatibel

Daß muß man so formulieren:

b) Es ist Linux-kompatibel

und schon klingt es viel freundlicher ;)

> Warum ist Dein Wunsch besser als der Wunsch der Rest der Welt?

Das ist die falsche Frage. Meine Gegenfrage lautet:

Warum muß ein Encodingproblem ein Programm hart beenden?

Nochmal: für relativ viele Probleme ist es mir wurschtegal, ob ü ? ist.
Nicht-wurschtegal ist mir hingegen, ob das Encoding dazu führt, daß Probleme
in für den Hauptzweck des Programmes völlig unrelevanten Bereichen wie sagen
wir einem Logfile auftreten.

Du willst ein Beispiel aus der Praxis?

Ich spreche mit Geräten auf der Seriellen Leitung. Teure Geräte. Geräte bei
denen du, da bin ich mir sicher, ziemlich sicher willst das sie
FUNKTIONIEREN und nich nicht. Da werden Bytes übertragen. Die Bytes bestehen
aus 8 Bit, d.h. es ist ganz natürlich daß da Zeug rüberkommt > 127. Kein
Mensch der Welt spricht diese Sprache, es gibt also auch keinen Druck auf
das Unicode-Konsortium, diese Sonderzeichen in gewaltige Schriftbilder
umzusetzen.

Also, habe ich einen String x mit einem Sonderzeichen, sagen wir das
beliebte ü drin. Das ist NICHT "das ü der Deutschen", sondern ein Zeichen,
welches z.B. bedeutet "Sensor x ist aktiv", klar?

Jetzt will ich das ausgeben, z.B. so print "INPUT %s" %
string_from_serial_port. Da gab es (dann wohl <2.3 habe ich aber nicht
überprüft) exceptions. Toll! Oder, ich will den String in eine XML-Datei
schreiben, geht natürlich. Dann will ich die Datei wieder lesen -> Programm
beendet sich. (Datenbanken sind des Teufels, deshalb an dieser Stelle kein
SQL-Beispiel, aber das geht vermutlich genauso).

Ciao,
Gerson