UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xa0 в позиции ???: неверный начальный байтPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xa0 в позиции ???: неверный начальный байт

Сообщение Anonymous »

Я работаю со строками байтов, которые содержат символы, отличные от ASCII, в частности текст на иврите, и столкнулся с ошибкой UnicodeDecodeError при попытке декодировать строку байтов в UTF-8. Вот проблемный код:

Код: Выделить всё

t = b'\xd7\x91\xd7\x9c\xd7\xa9\xd7\x95\xd7\xa0\xd7\x99\xd7\xaa:\xa0 '
print(t.decode('utf8'))
Я получаю сообщение об ошибке:

Код: Выделить всё

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 15: invalid start byte
Насколько я понимаю, байт 0xa0 представляет собой неразрывный пробел в некоторых кодировках, но, похоже, он вызывает проблемы при декодировании UTF-8. Как я могу правильно декодировать эту строку байтов, особенно если она содержит смешанный контент, такой как символы иврита и потенциальные неразрывные пробелы?
Существует ли в Python специальный метод или обходной путь для обработки таких сценариев, когда нестандартные или расширенные символы ASCII (например, неразрывные пробелы) встроены в байтовые строки в кодировке UTF-8?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ion-invali
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»