UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xff в позиции 0: неверная ошибка начального байта в python при чтении файла csv - PullRequest
2 голосов
/ 02 октября 2019
StopWords = pd.read_csv('stopwords.csv',encoding='UTF-8', quotechar='|',names=['StopWords'])

Я пытаюсь прочитать CSV-файл, содержащий текст на персидском языке, и я получаю следующую ошибку:

UnicodeDecodeError: кодек «utf-8» не может декодировать байт0xff в позиции 0: неверный стартовый байт

1 Ответ

2 голосов
/ 02 октября 2019

Не видя двоичного содержимого файла, трудно угадать фактическую кодировку, но UTF-8, с или без спецификации (метка порядка байтов) не может начинаться с 0xFF.

Если он начинается с 0xFF, то это может указывать на то, что это, вероятно, только от Little Endian UTF-16 до UTF-32, которые являются единственными сериализациями Unicode, которые имеют маркер порядка байтов, начинающийся с 0xFF.

https://en.wikipedia.org/wiki/Byte_order_mark дает некоторые пояснения.

Также возможно, что это персидский набор символов. Для создания исходных файлов CSV следует избегать национальных наборов символов, если доступна опция Unicode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...