#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)
и не открывал их также в двоичном режиме.