Menü
Avatar von Pickwick81
  • Pickwick81

mehr als 1000 Beiträge seit 12.07.2002

Um Datentypen zu konvertieren[...]

Um Datentypen zu konvertieren, existieren die Funktionen str.encode() und bytes.decode(). Die Umwandlung benötigen Entwickler in Python 3, wenn sie beide Datentypen verwenden, da keine implizite Typkonvertierung mehr stattfindet.

Das klingt mir nach einer sinnvollen Entscheidung. Solche Automatismen machen oft Probleme, denn in aller Regel hängen sie von den Daten und der Umgebung zur Laufzeit ab, die man nur begrenzt vorhersagen kann. In ganz vielen Fällen funktionieren dann Sachen, weil beispielsweise Daten in ISO-8859-1, windows-1252 und UTF-8 identisch sind, irgendwann im Zweifel aber eben nicht mehr.

Letzte Woche erst wieder in Perl: Reguläre Ausdrücke mit Unicode-Rules anwenden, weil man eigentlich einen UTF-8-String mit aktiviertem Flag und allem haben sollte. Nur dummerweise eben nicht immer, weil der Produzent des Strings in Abhängigkeit von einer globalen Variable eben mal Bytes und mal Strings liefert und dann der reguläre Ausdruck einfach nicht mehr matcht. Auf solche Dinge kann man gut verzichten, da ist es einfacher, wenn es von Anfang an knallt, weil man eben Bytes hat wo man Strings erwartet.

Ich habe sogar noch eigentlich für reinen UTF-8-Text gedachte Template-Funktionen, durch die ich letztendlich PNG-Binärdaten verschiedener Sprachen schleife. Diese Altlasten überall... ;-)

Das Posting wurde vom Benutzer editiert (21.05.2019 12:07).

Bewerten
- +
Anzeige