chardet в простом текстовом файле UTF-16-LE - PullRequest
0 голосов
/ 07 мая 2020

Я попытался определить кодировку простого текстового файла UTF-16-LE в Python 3 с помощью пакета chardet, используя следующий код:

rawdata = open(filename, 'rb').read()
result = chardet.detect(rawdata)
print(result['encoding'], result['confidence'])

rawdata (содержимое файла) следующие:

b'N\x00O\x00T\x00 \x00Y\x00O\x00U\x00R\x00 \x00L\x00A\x00N\x00G\x00U\x00A\x00G\x00E\x00?\x00 \x00U\x00S\x00E\x00 \x00h\x00t\x00t\x00p\x00s\x00:\x00/\x00/\x00t\x00r\x00a\x00n\x00s\x00l\x00a\x00t\x00e\x00.\x00g\x00o\x00o\x00g\x00l\x00e\x00.\x00c\x00o\x00m\x00'

Результат приведенного выше кода следующий:

ascii 1.0

Почему chardet 100% уверен, что текстовый файл находится в формате ascii, когда это явно UTF -16?

1 Ответ

0 голосов
/ 12 мая 2020

Это проблема с chardet, которая еще не решена: https://github.com/chardet/chardet/pull/109

...