какую кодировку я должен использовать, чтобы открыть файл с большой буквой N с символом тильды? - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь открыть файл с большой буквой N тильда (http://graphemica.com/%C3%91), но не могу понять это. Когда я открываю файл в блокноте ++, он показывает символ как xD1, когда Я открываю файл в gedit, он показывает \ D1. Когда я открываю файл в excel, он правильно показывает символ.

Теперь я пытаюсь открыть файл в python, он останавливается, когда сталкивается с персонажем. Я знаю, что могу ввести кодировку, чтобы файл можно было открыть правильно, но я не уверен, какую кодировку мне следует использовать. Моя ошибка

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

это мой код

with codecs.open('tsv.txt', 'r', 'utf8') as my_file:
    for line in my_file:
        print(line)

если это не utf8, то что мне использовать? С сайта выше, он не показывает, с какой кодировкой 0xd1 связан.

1 Ответ

0 голосов
/ 29 августа 2018

Вы можете найти в таблицах, как 'С' кодируется в разных кодировках.

Вы также можете попробовать это напрямую с Python:

>>> 'Ñ'.encode('utf8')
b'\xc3\x91'
>>> 'Ñ'.encode('latin1')
b'\xd1'

Похоже, ваш файл закодирован в латинице-1.

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