Encodings: mac-*

Der nur unzureichend informierte Python Programmierer könnte meinen, mit latin-1 und anderen Microsoft-Anwandlungen bereits alle Ekelheiten gesehen zu haben, die das Phänomen Encodings zu bieten hat. Dann freut man sich, dass die Freie Software Welt mit utf-8 schon seit langem ihren Quasi-Standard gefunden hat, der obendrein quasi alle Probleme meistern kann.

Aber nein! Auch die Mac-Welt macht in Sachen Encodings ihre eigenen Spielchen statt das Problem unter Einsatz von utf-8 ein für allemal zu lösen. Aber natürlich nicht die gleichen Spielchen, wie Windows. Nix latin-1 und Co, Mac hat natürlich seine eigenen Encodings.

Als ganz besonderes Schmankerl stellt sich heraus, dass sich Software des gleichen Herstellers unterschiedlich verhält, wenn sie auf unterschiedlichen Betriebssystemen eingesetzt wird. Man sollte meinen, Microsofts Excel würde CSV-Dateien latin-1 encodiert exportieren. Aber weit gefehlt! Unter Mac kommt ein Encoding zum Einsatz, das in Python mac-roman heißt.

Wer also Mac-Dateien, insbesondere Mac-CSV-Dateien von Mac-Excel, mit Python lesen will, sollte zuvor den Inhalt mit mac-roman dekodieren und dann mit dem vertrauten utf-8 arbeiten. Andere Mac-Versionen aus anderen Regionen der Erde setzen vermutlich nicht mac-roman sondern ein anderes mac-* Encoding ein ...

Tags: Python