2016-07-28 5 views
1

Ich habe ein Python-Skript, in dem es ein Wörterbuch ist. Aus irgendeinem Grund muss ich das Wörterbuch nach json konvertieren. Aber immer dann, wenn Skript ausgeführt, es gibt unter FehlerWie dekodieren Charakter zu utf-8 an bestimmten Position

UnicodeDecodeError: ungültige Fortsetzung Byte

für Linie json.dumps (data_dict): 'utf8' Codec kann nicht Byte 0xE9 in Position 604 dekodieren .

Von link, verstehe ich, dass nicht utf Zeichen entschlüsselt werden sollte. Aber wie macht man das in einem Skript? Wie wir an dieser Stelle Zeichen aus dem Wörterbuch bekommen und es entschlüsseln können.

Auf Interpreter funktioniert es. Unten ist ein Interpreter-Snippet.

>> 'ren'.decode (' utf-8 ')

>> u'ren \ uFFFD'

+0

Dies gehört übrigens zu StackOverflow. – Elizafox

Antwort

2

Sie versuchen, einen ungültigen UTF-8-Codepunkt zu entschlüsseln. Nicht-UTF-8-Zeichen können nicht dekodiert werden. Versuchen Sie, 'ignore 'an .decode zu übergeben, wenn Sie unbedingt ungültige Codepunkte verarbeiten müssen, oder versuchen Sie chardet library, um die tatsächliche Codierung zu erkennen (.decode wird in Unicode codieren).