Dekodierungsfehler: Zeichen ist undefiniert zugeordnet
Beim Versuch, eine Textdatei zu lesen, stößt ein Python 3-Programm auf einen Fehler:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`
Erklärung:
Dieser Fehler bedeutet, dass der „charmap“-Codec ein bestimmtes Byte in der Textdatei nicht dekodieren kann. Der „charmap“-Codec wird für Zeichenkodierungen verwendet, die Bytes direkt Zeichen zuordnen.
Lösung:
Um diesen Fehler zu beheben, ist es notwendig, die richtige Kodierung zu identifizieren der Textdatei und geben Sie diese beim Öffnen der Datei an. Da das Byte 0x90 keine gültige Zuordnung in der CP1252-Kodierung aufweist, verwendet die Datei wahrscheinlich eine andere Kodierung, z. B. UTF-8 oder Latin-1.
Um die Datei mit der richtigen Kodierung zu öffnen, fügen Sie das hinzu Kodierungsargument:
file = open(filename, encoding="utf-8")
Für Latin-1 Kodierung:
file = open(filename, encoding="latin-1")
Hinweis:
Informationen zur korrekten Kodierung der Textdatei finden Sie in der Dokumentation „So bestimmen Sie die Kodierung von Text“.
Das obige ist der detaillierte Inhalt vonWie behebe ich Pythons „UnicodeDecodeError: ‚Charmap'-Codec kann Byte nicht dekodieren …'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!