Ошибка UnicodeDecodeError: кодек ‘gbk’ не может декодировать байты

#python #unicode #python-3.x #decode #pickle

#python #юникод #python-3.x #декодировать #рассол

Вопрос:

Я пытаюсь загрузить объект (области пользовательского класса) из файла с помощью pickler. Я использую Python 3.1.

Файл был создан с pickle.dump(area, f)

Я получаю следующую ошибку, и я хотел бы получить помощь, пытаясь понять и исправить это.

File "editIO.py", line 12, in load
area = pickle.load(f)

File "C:Python31libpickle.py", line 1356, in load
encoding=encoding, errors=errors).load()

UnicodeDecodeError: 'gbk' codec can't decode bytes in position 0-1: illegal multibyte sequence

Ответ №1:

Трудно сказать, пока вы не покажете свой код, но похоже, что вы открыли файл в текстовом режиме с кодировкой «gbk». Вероятно, его следует открыть в двоичном режиме. Если этого не произойдет, создайте небольшой пример кода с ошибкой и вставьте его сюда.

Комментарии:

1. Спасибо. Кажется, я сохранял свои файлы в двоичном режиме с помощью open(file, wb) и не открывал их также в двоичном режиме.