[Python-de] Neue Probleme mit Unicode in Text-Widget von Tkinter

CCF.Herzog at gmx.net CCF.Herzog at gmx.net
Wed Apr 25 19:46:03 EDT 2001


On 25 Apr 2001, at 17:30, M.-A. Lemburg wrote:

> > f = open("afile", "w")
> > s = txt.get(1.0,"end")
> > s = unicode(s).encode("cp1252")
> 
> Wieso benutzt Du hier nicht auch codecs.open() ? 

weil ich sonst nur \n und keine \r\n bekomme, was ich unter 
Windows bräuchte: u'Hallo\nWelt\nHallo\nWelt' (nach dem zweiten 
Aufruf)
> 
> Was kommt denn von dem Widget zurück ? String oder Unicode
> und mit oder ohne CRLF ?
1. Aufruf:

u'Hallo\nWelt'
<type 'unicode'>

2. Aufruf:

u'Hallo\r\nWelt\r\nHallo\nWelt'
<type 'unicode'>

3. Aufruf

u'Hallo\r\r\nWelt\r\r\nHallo\r\nWelt\r\nHallo\nWelt'
<type 'unicode'>

> 
> Übrigens öffnest Du die Dateien im Textmodus, d.h. die C lib
> konvertiert die Zeilenenden nach eigenem Ermessen. Was Du
> eigentlich möchtest ist Binärmodus also "rb" und "wb". Auch hier
> hilft codecs.open(), denn es fügt das "b" automatisch hinzu.
> 
Das ist wahr, wenn ich "rb" und "wb" mit codecs.open() verwende 
habe ich das Problem nicht mehr. Aber auch keine \r in der Datei, 
nur \n, was unter Windows leider nicht hinhaut. Die \r kann ich 
natürlich nachträglich einfügen, aber das kostet Zeit.
Gruss
Christoph




More information about the Python-de mailing list