В моей файловой системе (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).