Re: Umlaute "wiederherstellen"
Verfasst: Dienstag 12. Juni 2012, 18:09
Und genau deshalb gibt man das Encoding beim Schreiben explizit an.
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Stimmt, RTFM hätte ich mir denken können - leider fehlt mir bei dem Kodierungszeug noch ein wenig der Überblick in der Doku, aber ich denke das kommt mit der Zeit.cofi hat geschrieben:Manchmal hilft es ja einfach die Dokumentation zu lesen:http://docs.python.org/py3k/library/functions.html#open hat geschrieben:encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent (whatever locale.getpreferredencoding() returns), but any encoding supported by Python can be used. See the codecs module for the list of supported encodings.
Eins muss dir auf jeden Fall klar sein. Strings im Speicher sind Unicode-Strings. Unicode ist ein Konzept und nicht die Art und Weise wie ein Zeichen im Speicher aufgebaut ist. Aus diesem Grund kannst du auch keine Daten als Unicode speichern. Du kannst aber ein Encoding wie UTF-8 verwenden um Unicode-Strings zu speichern. In der Datei hast du dann kein Unicode, sondern einen UTF-8-codierten String. Beim Wiedereinlesen bekommst du im Speicher wieder einen Unicode-String. Dazu musst du allerdings beim Einlesen (bzw. beim Öffnen der Datei) angeben, welches Encoding dafür verwendet werden soll. Hast du Daten als UTF-8 gespeichert, dann solltest du sie auch mit UTF-8-Codierung wieder einlesen. Andere Formate wie EBCDIC würden einfach Datenmüll ergeben - wenn es denn überhaupt funktionierte.heiliga horsd hat geschrieben:Stimmt, RTFM hätte ich mir denken können - leider fehlt mir bei dem Kodierungszeug noch ein wenig der Überblick in der Doku, aber ich denke das kommt mit der Zeit.