[Python-de] Re: (Unicode)Wenn ich das richtig sehe...

Walter Dörwald walter at livinglogic.de
Die Mai 25 10:57:17 CEST 2004


Olaf 'Rübezahl' Radicke wrote:
> On Monday 24 May 2004 19:43, Felix Wiemann wrote:
> 
>>Heiko Wundram wrote:
>>
>>>Unix kennt nun mal keine Unicode-Dateinamen (es kennt nur ein
>>>Filesystem-Encoding, welches aber nicht von Python, sondern beim
>>>mounten des Dateisystems gesetzt wird)
>>
>>Nein.  Es gibt (zumindest bei den verbreiteten Unix-Dateisystemen) kein
>>Filesystem-Encoding, das beim Mounten gesetzt werden könnte.  Dateinamen
>>sind einfach kodierungslose Byte-Folgen.  Und das ist auch gut so.[tm]
> 
> Warum kann man das nicht bei Python auch so machen: Es gibt einfach
> nur  kodierungslose Byte-Folgen. Dann ist man das Theater los, oder
> habe ich jetzt ein Denkfehler?

Genau so ist es doch bei Python gemacht. Die kodierungslosen Byte-Folgen
sind str, die kennen kein Encoding. Und unicode braucht kein Encoding,
da unicode-Objekte nur Sequenzen von Unicode-Codepoints sind, das hat
nix mit Encoding zu tun. Das Encoding kommt erst ins Spiel, wenn
zwischen str und unicode konvertiert werden muß, was leider z.Z. auch
noch bei vielen System-APIs passieren muß, wo Texte als Bytefolgen
übergeben werden müssen.

Bis demnächst,
    Walter Dörwald