В моей файловой системе (Windows 7) у меня есть несколько текстовых файлов (это файлы сценариев SQL, если это имеет значение).
При открытии с помощью Notepad ++ в меню «Кодировка» сообщается, что некоторые из них имеют кодировку «UCS-2 Little Endian», а некоторые - «UTF-8 без BOM».
В чем здесь разница? Все они кажутся совершенно правильными сценариями. Как я могу сказать, какие кодировки у файла без Notepad ++?
enca
и chardet
для систем POSIX.
iconv
в частности это полезно для этой цели. По сути, вы перебираете поврежденные строки символов / текста в различных кодировках, чтобы увидеть, какой из них работает. Вы выигрываете, когда персонажи больше не портятся. Я хотел бы ответить здесь, с программным примером. Но это, к сожалению, защищенный вопрос.
chardet
или chardetect
не доступно в вашей системе, вы можете установить пакет через менеджер пакетов (например, apt search chardet
- на ubuntu / debian, обычно называемый пакетом python-chardet
или python3-chardet
), или через pip с pip install chardet
(или pip install cchardet
для более быстрой версии c-optimized).