Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
sorry, falls das eher in die Rubrik Netzwerkprogrammierung gehört - ich war mir nicht sicher.
Jedenfalls, ich möchte gerne eine entfernte (Text-)Datei Zeile für Zeile durchsuchen. Ich habe folgendes:
@mdatab: Über die Verbindung kommen Bytes, und Du versuchst mit deren `startswith()`-Methode zu prüfen ob die Bytekette mit einer Zeichenkette (`str`) anfängt. Das geht nicht. Du musst entweder die Daten aus der Netzverbindung in Zeichenketten umwandeln, oder testen ob das Byte mit dem ASCII-Wert vom ASCII-Zeichen ``#`` am Anfang steht. Letzteres ist einfacher, da musst Du aus dem ``'#'`` nur ein ``b'#'`` machen. Wenn Du mit den Zeilen aber als Text weiterarbeiten möchtest, solltest Du dekodieren. Das `io`-Modul stellt da zum Beispiel Wrapperklassen zur Verfügung. Da stellt sich dann die Frage in welcher Kodierung M3U-Dateien eigentlich gespeichert sind. Willkommen in der lustigen Welt von Unicode.
@mdatab: Zeig mal bitte den kompletten Traceback (insbesondere wegen der Zeilenangabe) und den Code, bei dem der Fehler *tatsächlich* auftritt (bitte keine nachträglichen Anpassungen machen). Denn bei mir klappt es problemlos:
Danke für den Tipp. Das hat funktioniert. Ich hatte das schonmal ausprobiert und dachte das geht nicht, aber ich hatte übersehen, dass es dann an anderer Stelle gekracht hatte.
Jedenfalls, so geht es … vermutlich, bis eine M3U Datei mal in UTF-8 codiert ist.
mdatab hat geschrieben:Jedenfalls, so geht es … vermutlich, bis eine M3U Datei mal in UTF-8 codiert ist.
Problematisch wird es eigentlich erst, wenn Zeichen außerhalb von ASCII benutzt werden. Wobei eine UTF-8 Kodierung natürlich nahelegt, dass so etwas durchaus passieren kann.
@snafu: Die ”Gefahr” das M3U-Playlisten etwas ausserhalb von ASCII enthalten ist relativ hoch. Selbst englischsprachige Benutzer sind davor nicht sicher, und als Europäer muss man ziemlich sicher damit rechnen IMHO. Vom asiatischen Sprachraum mal ganz zu schweigen.
@sparrow: Bei mir passierts früher — nämlich schon bei den „Abstürzende Brieftauben”.