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.
Antworten
Treehorn

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.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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]#!/usr/bin/env python
import this[/code]
Antworten