Seite 1 von 1

Zeichensatzkonvertierung

Verfasst: Freitag 24. Oktober 2003, 10:50
von Martoro
ich möchte einige alte dos( datenbank und rtf )dateien konvertieren ... das ist technisch alles kein problem, allerdings kommen in den daten polnische und deutsche umlaute vor die nach dem öffnen nicht korrekt umgesetzt werden.

ich möchte nun in einem script die zeichen in den unicode zeichenraum konvertieren ...

die frage ist gibt es dafür fertige bibliotheken oder hinweise was zu beachten ist auch der rückweg sollte möglichst offen sein

zeichensatz 1 >> unicode >> zeichensatz 2

vielleicht hat ja jemand einen tip für mich, danke schonmal Martin

Verfasst: Freitag 24. Oktober 2003, 12:54
von joerg
Falls die bordeigenen Mittel von Python nicht ausreichen, kannst Du mal schauen, ob folgender Link weiterhilft:

http://www.iro.umontreal.ca/~pinard/recodec/

(Habe es mir selber noch nicht angeschaut.)

Jörg

Danke für den Link

Verfasst: Freitag 24. Oktober 2003, 13:37
von Martoro
danke das ist auf alle fälle ein wertvoller link, damit sollte ich weiterkommen
Falls die bordeigenen Mittel von Python nicht ausreichen
??? welche bordeigenen mittel meintest du denn ???

ich bin nur gelegentlicher python user und befehle die geeignet sind die codierung von dateien zu bearbeiten sind mir noch nicht begegnet ....

kannst du mir einen tip geben welche module ich dazu näher ansehen sollte

danke, Martin

Re: Danke für den Link

Verfasst: Freitag 24. Oktober 2003, 15:22
von joerg
Martoro hat geschrieben: kannst du mir einen tip geben welche module ich dazu näher ansehen sollte
Ja, einen Tip habe ich, aber mehr auch nicht. Ich habe mich damit nämlich auch noch nicht näher beschäftigt.

Die Module encodings und codecs könnten weiterhelfen und die String-Methoden encode und decode.

Bei Erfolg kannst Du ja auch ein kurzes Rezept hier posten, interessiert mich auch.

Jörg

Danke

Verfasst: Freitag 24. Oktober 2003, 15:38
von Martoro
wenns klappt werd ich am Montag verraten wie's geht ... bin per bahn unterwegs und werde unterwegs experimentieren

schönes WE, Martin

die Lösung

Verfasst: Montag 27. Oktober 2003, 14:40
von Martoro
ist einfacher als ich dachte ... der kern ist das modul codecs

http://www.python.org/doc/current/lib/m ... odecs.html

dort werden fileobjekt-wrapper zur verfüguing gestellt die mit eingabe des gewünschten codecs den inhalt der files in unicode ausspucken

mit derselben methode kann mann dann in einem neuen codec schreiben

es läuft also auf
--------------------------
file = codecs.open ( meinfile, 'r' , meincodec )
content = file.readlines()
file.close()

newfile = codecs.open(neuesfile, 'w', neuercodec)
newfile.writelines(content)
newfile.close()
-----------------------------

das codecs modul stellt noch einiges mehr zur verfügung aber zur arbeit mit den dateien reichen diese funktionen schon völlig aus

die liste der standard codecs liegt hier

http://www.python.org/doc/current/lib/node126.html

gruß Martin ... danke für die tips