Кодирование текста с несколькими кодировками - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь открыть файл txt в python и читать его, используя open() и read(), проблема в том, что часть текста не является UTF-8. Вот ошибка:

UnicodeDecodeError: кодек 'charmap' не может декодировать байт 0x8f в позиции 1911885: персонаж отображается на

Как я могу прочитать этот документ?

1 Ответ

0 голосов
/ 10 мая 2019

Возможно, вы захотите проверить все ответы в этом вопросе, поскольку он кажется довольно похожим на ваш: UnicodeDecodeError: кодек 'charmap' не может декодировать байт X в позиции Y: символ отображается на

Как сказано на сайте, попробуйте:

file = open(filename, encoding="utf8")

Планировал поделиться этим как комментарием, но мне не хватает репутации для этого:)

РЕДАКТИРОВАТЬ: После прочтения вашего комментария в качестве ответа на мой предыдущий ответ и в соответствии с предложением Cett улучшить его:

Вероятно, лучший способ справиться с ошибками кодирования - использовать аргумент ошибок. Как сказано в вашем вопросе, если только некоторые символы не декодируются, тогда это будет хорошо для использования.

file = open(filename, encoding="utf8", errors = "ignore")

ПРИМЕЧАНИЕ: использование этого аргумента приведет к тому, что Python проигнорирует этот специальный символ. Поэтому я бы порекомендовал это только в том случае, если вы можете потерять некоторые данные.

...