4

Требуется открыть файл и считать данные на python 3. Ну и как обычно возникает проблема с кодировкой.

with open('content.html', 'rb') as f:
    text = f.read()
print(text.decode('utf-8', 'ignore'))

Получаю ошибку:

UnicodeEncodeError: 'charmap' codec can't encode character '\xab' in position 66
20: character maps to <undefined>

Открывал файл как в бинарном, так и в текстовом режиме с параметром encoding и без него. Как прочитать файл?

insolor
  • 49,104

1 Answers1

2

Кто-то из них врет.

Что определеннно, так это 66-ой байт шестнадцатиричное ab не может быть первым байтом символа в кодировке UTF-8.

Посмотрите на байты перед 66-м.

avp
  • 46,098
  • 6
  • 48
  • 116
  • Спасибо, перед 6620 символом были кавычки «, и питон их не пропускал. – perseidsStarfall Oct 08 '12 at 10:19
  • 1
    Эти кавычки (не знаю как их набрать), как раз код 0xAB (открывающая) и 0xBB (закравающая) в кодировке cp-1251. – avp Oct 08 '12 at 10:59