[Python-de] Umlautproblem in Python 2.3

Detlef Lannert lannert at uni-duesseldorf.de
Fri Feb 14 23:01:14 EST 2003


Georg Mischler <schorsch at schorsch.com> wrote:
> Auch bei Unicode-Literals in einem nicht-Unicode Quelltext muss
> der Zeichensatz bekannt sein, damit der Interpreter sie richtig
> verarbeiten kann.

Wenn nicht durchgängig Escape-Sequenzen für Nicht-ASCII-Zeichen
verwendet werden. Sonst tut's jeder der (zahlreichen) Zeichensätze,
die Erweiterungen von ASCII sind (alle ISO-8859, KOI-8R, ...).

> > OK, jetzt verstehe ich das Problem. Aber dann würde es genügen, für
> > Multibyte-Codierungen eine Code-Deklaration zu verlangen, die ja
> > bisher nicht verwendbar waren.
> 
> Der Parser hat keine Moeglichkeit, von sich aus festzustellen,
> ob ein 8-Bit Wert zu einem Single- oder einem Multibyte-Zeichen
> gehoert. Er muss also entweder fuer allen 8-Bit Input eine
> Deklaration vorschreiben, oder diesen komplett verbieten, wenn
> Mehrdeutigkeiten zuverlaessig vermieden werden sollen.

Bei den Single-Byte-Codierungen braucht der Parser dies nicht,
ebensowenig wie bei UTF-8 (die unzulässigen UTF-8-Sequenzen weist
Pythons decode() ja erfreulicherweise zurück). Daher müßte der
Parser nur bei einigen der Multibyte-Codierungen != UTF-8 eine
Deklaration haben, um "\n", "'" und '"' zu erkennen.

> Je schneller alle auf UTF-16 umstellen, desto besser... ;)

Träum' weiter ... ;-))

  Detlef




More information about the Python-de mailing list