Ok, jetzt klappts. Das string object das ich von os.listdir() bekomme, muss ich:
unicode_data = unicode(dateiname, 'utf8')
unicode_data = unicodedata.normalize("NFC", unicode_data)
und jetzt habe ich ein file das auch Firefox versteht :)
Wunderbar. So ganz steige ich zwar noch nicht durch (wuesste gerne welcher codec da bei default auf meinem Mac benutzt wurde), aber das ist ein zweitrangiges Problem im moment.
Herzlichen Dank
Frank
On 08.10.06 13:45:14, Frank Mantek wrote:
> Das heist also, das die os.getfiles etc, string zurueckliefern koennen, die
> in einem zeichensatz sind, die die codec funktionen nicht verstehen? Weird.
> Ich haette gedacht das die OS specifische python installation sich darum
> kuemmert -> soll heisen wenn ich ein file object habe, gehe ich davon aus
> das der dateiname in utf16 encoded ist. Silly me.
utf16-kodiert sieht das ganze auch aus, nur dass statt einem "ü" ein u
und vmtl. 2 hochgestellte Punkte drin stehen.
> Gibt es funktionen die mir sagen in welchem encoding ein string object ist?
> Beim durchblaettern von codec habe ich nix gefunden, aber das heist ja
> nix...
Nein, das kann nicht funktionieren. Man kann ohne zusaetzliche
Informationen nicht sicher sagen welche Kodierung fuer eine gegebene
Bytefolge benutzt wurde. Du kannst nur alle durchprobieren und dann
schauen ob das Ergebniss passt.
> Das mit 0x08 ist ein guter guess, und jup, das file sieht nicht nach utf8
> aus - das ist ja das problemchen :). Mal schauen was ich damit mache..
<Vermutung>0x0803 ergibt nach korrekter Dekodierung ein Zeichen das
ueber das vorangegangene geschoben wird und 2 Punkte darstellt. Such dir
mal ne Zeichentabelle fuer Unicode und schau ob du das da findest bei
utf16 Kodierung. Bei der Herkunft des komischen ü wuerde ich mal auf die
Applikation tippen mit der die Datei erstellt wurde.</Vermutung>
Hast du mal versucht mittels encode deine Bytefolge als utf-16 in einen
Unicode-String zu uebersetzen?
Andreas
--
Make a wish, it might come true.
_______________________________________________
python-de maillist - python-de@python.net
http://python.net/mailman/listinfo/python-de