
Hi, ich suche schon einige Zeit unter Google, habe aber noch nichts passendes gefunden. Wie kann ich eine Datei im ASCII-Format in das ANSI-Format umwandeln? Die Datei wird mit Python gelesen, der Aufbau verändert und wieder geschrieben. Ganz nebenbei sollen dann die Umlaute ausgetauscht werden. In PHP habe ich mir folgendes zusammengebaut, aber das wird doch in Python hoffentlich einfacher gehen oder? Danke im Voraus Gruß Ron for ($i=0; $i<strlen($azeile[$c]); $i++) { $char = substr($azeile[$c], $i, 1); $charnr = ord($char); if ($charnr==148) $string = $string."".chr(246); //ö elseif ($charnr==129) $string = $string."".chr(252); //ü elseif ($charnr==132) $string = $string."".chr(228); //ä elseif ($charnr==153) $string = $string."".chr(214); //Ö elseif ($charnr==154) $string = $string."".chr(220); //Ü elseif ($charnr==142) $string = $string."".chr(196); //Ä elseif ($charnr==225) $string = $string."".chr(223); //ß else $string = $string."".$char; } _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Hi Ron, was du brauchst ist die Funktion encode und evtl. das codecs Modul. Ich bin mir nicht sicher, aber ich glaube ANSI ist das default encoding. Dann müßtest du deine Datei wie folgt laden: text = codecs.open('file.txt','r','ascii').read() Dann müßtest du den erhaltenen String einfach mit text.encode(...) in das gewünschte Encoding umwandeln und wieder schreiben. Die Richtung müßte stimmen, für Details solltest du nochmal in die Doku schauen. Bei den verschiedenen Encodings hab' ich aus dem Kopf immer mal Dreher drin! ;-) Gruß, Achim _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Ron Opitz wrote:
Hi,
ich suche schon einige Zeit unter Google, habe aber noch nichts passendes gefunden.
Wie kann ich eine Datei im ASCII-Format in das ANSI-Format umwandeln? [...]
ASCII hat 7 Bit. Was ist ANSI? Kannst du uns die präzisen Bezeichnungen der verwendeten Encodings sagen? http://www.python.org/dev/doc/devel/lib/node125.html -- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Am Mittwoch, 28. Mai 2003 14:23 schrieb Gerhard Häring:
Ron Opitz wrote:
Hi,
ich suche schon einige Zeit unter Google, habe aber noch nichts passendes gefunden.
Wie kann ich eine Datei im ASCII-Format in das ANSI-Format umwandeln? [...]
ASCII hat 7 Bit. Was ist ANSI? Kannst du uns die präzisen Bezeichnungen der verwendeten Encodings sagen?
Aus dieser Liste würde ich auf folgendes tippen: cp1250 windows-1250 Central and Eastern Europe Die einzige Info die ich habe, es soll Windows ANSI sein. (Beim Einlesen von Daten in Access kann man das ebenfalls auswählen). Gruß Ron _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Ron Opitz wrote:
Am Mittwoch, 28. Mai 2003 14:23 schrieb Gerhard Häring:
Ron Opitz wrote:
Hi,
ich suche schon einige Zeit unter Google, habe aber noch nichts passendes gefunden.
Wie kann ich eine Datei im ASCII-Format in das ANSI-Format umwandeln? [...]
ASCII hat 7 Bit. Was ist ANSI? Kannst du uns die präzisen Bezeichnungen der verwendeten Encodings sagen?
Aus dieser Liste würde ich auf folgendes tippen: cp1250 windows-1250 Central and Eastern Europe
Die einzige Info die ich habe, es soll Windows ANSI sein. (Beim Einlesen von Daten in Access kann man das ebenfalls auswählen).
Dann ist die Frage, was du unter 'ASCII' verstehst. ASCII hat nämlich keine Umlaute. Angenommen, du möchtest von ISO-8859-1 (latin-1) nach MBCS konvertieren, dann kann du so was verwenden: input = [ISO-8859-1-String] output = unicode(input, "iso-8859-1").encode("mbcs") -- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Ron Opitz <ron.opitz@dts.de> writes:
Wie kann ich eine Datei im ASCII-Format in das ANSI-Format umwandeln?
Aus Deiner PHP-Datei entnehme ich, dass Du tatsächlich CP850 (auch als "OEM" bezeichnet) umwandeln willst in CP1252 (auch als "ANSI" bezeichnet). In aktueller Microsoft-Terminologie sind diese alternativen Bezeichnungen allerdings inzwischen ungenau: sie gelten so nur für die westeuropäischen Windows-Versionen. In anderen Regionen werden andere Zeichensätze als OEMCP und ACP verwendet. Ciao, Martin P.S. Die Umwandlung geht mit orig.decode("cp850").encode("cp1252") P.P.S. Wie Gerhard schon erklärt hat: "ASCII" ist was ganz anderes. _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
participants (4)
-
Achim Domma (ProCoders)
-
Gerhard Häring
-
martin@v.loewis.de
-
Ron Opitz