Перейти до вмісту
Винятки PythonПомилка
UnicodeDecodeError

UnicodeDecodeError

Послідовність байтів не вдалося декодувати з використанням вказаного кодування.

python

Що спричиняє цю помилку

Байтові дані не є дійсними в зазначеному кодуванні. Типові причини: читання файлу з неправильним кодуванням (наприклад, читання даних Latin-1 як UTF-8), пошкоджені дані або читання бінарних файлів як текстових.

Як виправити

Визначте кодування за допомогою бібліотеки chardet. Вкажіть правильне кодування: open(file, encoding='latin-1'). Скористайтеся режимами обробки помилок: bytes.decode('utf-8', errors='replace'). Двійкові файли відкривайте у двійковому режимі: open(file, 'rb').

Приклад

b"\xff".decode("utf-8")  # UnicodeDecodeError
Офіційна документація

Пов'язані коди помилок