Unicode, Dateiein/ausgabe, Codecs

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Treehorn

Unicode, Dateiein/ausgabe, Codecs

Beitragvon Treehorn » Montag 8. November 2004, 06:47

Holla.
Ich hab ein paar Probleme zu verstehen wie Unicode in Python funktioniert, bzw wie ich die Codecs (so heißen sie doch?!) funktionieren.
Konkret geb ich euch da mal ein ein Pseudo-Snip:

Code: Alles auswählen

eingabe = open("IrgendNeDatei", "r")
ausgabe = open("NochNeDatei", "w")

def liesNeZeile():
    return eingabe.readline()

def totalDerParser(text):
    """
    Erwartet Unicode, gibt Unicode zurueck
    """
    return text   

zeile = liesNeZeile()
while zeile != "":
    ausgabe.writeline(totalDerParser(text))
    zeile = liesNeZeile()

eingabe.close()
ausgabe.close()


Sagen wir eingabe ist latin-1 codiert und ausgabe soll utf-8 codiert sein.
Wie bring ich das zum Laufen? Am besten mit diesen Nebelumwateten Codecs. Ich steig da nicht so ganz durch.
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Montag 8. November 2004, 14:12

Hi Treehorn,

Code: Alles auswählen

def totalDerParser(text, coding="latin-1"):
    """
    Erwartet String, gibt Unicode codierten String zurueck
    """
    return text.decode(coding).encode("utf-8")


Jetzt kannst Du das coding vom Argument text auch angeben, standartmässig steht es auf "latin-1".


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this

Wer ist online?

Mitglieder in diesem Forum: urtaca