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