UnicodeDecodeError: „Charmap“-Codec kann Byte X an Position Y nicht dekodieren
Beim Versuch, eine Textdatei in Python 3 zu lesen Möglicherweise stoßen Sie auf Folgendes Fehler:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`
Erklärung:
Dieser Fehler tritt auf, wenn der „charmap“-Codec, der für die Konvertierung von Bytes in Zeichen verantwortlich ist, nicht in der Lage ist, einen bestimmten Codec zu dekodieren Byte in der Textdatei. Dies liegt normalerweise daran, dass die Datei nicht in der erwarteten Kodierung kodiert ist.
Dekodierungsfehler:
In diesem speziellen Fehler verursacht Byte 0x90 das Problem. Dieses Byte ist keinem Zeichen in der „Charmap“-Codierung zugeordnet, die üblicherweise für Windows-Systeme verwendet wird.
Lösung:
Um dieses Problem zu beheben, benötigen Sie um die korrekte Codierung der Textdatei zu ermitteln. Eine Möglichkeit dazu besteht darin, die Datei mit einem Texteditor zu untersuchen und die Zeichen zu beobachten, die nicht dekodiert werden.
Sobald Sie die richtige Kodierung ermittelt haben, können Sie diese beim Öffnen der Datei in Python angeben:
file = open(filename, encoding="utf8")
In diesem Beispiel ist „utf8“ die für die Textdatei verwendete Kodierung. Stellen Sie sicher, dass Sie es durch die richtige Kodierung ersetzen.
Durch die Verwendung der richtigen Kodierung ist Python in der Lage, die Bytes in der Textdatei zu dekodieren, ohne dass Fehler auftreten.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Python 3-„UnicodeDecodeError: ‚charmap'-Codec' beim Lesen von Textdateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!