Unicode (UTF8) in lokalen Zeichensatz wandeln

Code-Stücke können hier veröffentlicht werden.
Antworten
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Arbeitet man mit Unicode (wird zb in QT verwendet), dann kann man den Text nicht einfach in eine Datei schreiben. Dieses würde bei Umlauten zu einem Fehler führen. So geht es aber:

Code: Alles auswählen

    fd = open('./text.txt', 'w')
    i = 0
    while i < self.textIn.numLines():
      _s = str(QString.local8Bit(self.textIn.getString(i)))
      print _s
      fd.write("%s\n" % _s )
      i += 1
    fd.close()
self.textIn ist in diesem Fall ein QMultiLineEdit Element. QString.local8Bit() liefert den String im aktuell verwendeten Zeichensatz. str() erzeugt daraus ein Python StringObjekt. Der Rest sollte Routine sein.

Hans
Antworten