Python3 "versteckt" vieles besser vor dem Benutzer, ähnlich wie Java oder andere Sprachen es machen, da es auf das System weite Default Encoding bei allen IO-Operationen setzt.
Dies ist imho leider eine schlechte Entscheidung, weil sie die Portabilität von Code erschwert. Solange man nur auf seinem System arbeitet (ergo für sich entwickelt), wird man unter Linux aktuell kaum Probleme spüren, sofern utf-8 als Default Encoding eingestellt ist.
Naja, das bessere String-Konzept hat schon Python 3 - von "Encoding-Problemen" befreit das aber gar nicht, schließlich müssen die Bytes ja irgend wie in einen (Unicode-)String reinkommen.
Zu Python 2 ist ein Entwickler eben früh darauf aufmerksam geworden, nun wird er es erst spät.
Ich wäre für UTF-8 als Default-Encoding gewesen. Damit hätte man eine fixe Konvention gehabt und alles wäre gut.
Python3 "versteckt" vieles besser vor dem Benutzer, ähnlich wie Java oder andere Sprachen es machen, da es auf das System weite Default Encoding bei allen IO-Operationen setzt.
Dies ist imho leider eine schlechte Entscheidung, weil sie die Portabilität von Code erschwert. Solange man nur auf seinem System arbeitet (ergo für sich entwickelt), wird man unter Linux aktuell kaum Probleme spüren, sofern utf-8 als Default Encoding eingestellt ist.
Naja, das bessere String-Konzept hat schon Python 3 - von "Encoding-Problemen" befreit das aber gar nicht, schließlich müssen die Bytes ja irgend wie in einen (Unicode-)String reinkommen.
Zu Python 2 ist ein Entwickler eben früh darauf aufmerksam geworden, nun wird er es erst spät.
Ich wäre für UTF-8 als Default-Encoding gewesen. Damit hätte man eine fixe Konvention gehabt und alles wäre gut.