Ich versuche, eine Textdatei zu laden, die mitPython lesen Nicht-ASCII-Textdatei
content=open("file.txt","r").read()
einige deutsche Buchstaben enthält, die in dieser Fehlermeldung führt
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 26: ordinal not in range(128)
, wenn ich die Datei ändern Um nur ASCII-Zeichen zu enthalten, funktioniert alles wie erwartet.
Apperently
content=open("file.txt","rb").read()
oder
content=open("file.txt","r",encoding="utf-8").read()
beides mit dem Job.
Warum ist es möglich, mit "binary" -Modus zu lesen und das gleiche Ergebnis wie mit utf-8-Codierung zu erhalten?
Ok, ich sehe 'Typ (open (ULF_DIR +" Banken. txt "," rb "). read())' returns "Bytes" und 'type (open (ULF_DIR +" Banken.txt "," r ", encoding =" utf-8 "). read())' returns str . Ich schrieb die Ausgabe in eine andere Datei und war verwirrt, weil die resultierende Datei auf beiden Methoden gleich aussah und ich die verschiedenen Typen nach der Eingabe der Daten ignorierte. –