Это то, что не похоже ни на utf-8, ни на iso-8859-1. Это может быть что-нибудь еще. Это может даже не быть текстом вообще. Этот тип является своего рода запасным описанием для всего, что не содержит нулевых байтов.
Даже если это на самом деле текстовый файл (расширение предполагает, что это может быть), к сожалению, не существует автоматического способа узнать кодировку, потому что большинство кодировок имеют одинаковый диапазон допустимых кодов. Utf-8 может быть рассмотрен отдельно с очень высокой степенью достоверности, но помимо этого он требует ручной проверки.
Сначала вы должны выяснить, на каком языке находится файл, чтобы получить представление о том, что такое правильный контент и что такое искаженный контент, и получить список возможных кодировок. Потому что есть миллионы кодировок, но только несколько из них использовались для какого-либо конкретного языка.
Чем вам нужно попытаться преобразовать файл из каждой возможной кодировки, и для каждого технического преобразования, которое завершится технически (к сожалению, большинство из них), просмотрите результат и проверьте, является ли он правильным или нет.
Проверка орфографии может помочь вам с обзором, так как неправильные преобразования приведут к большему количеству ошибок проверки орфографии.
Для преобразования вы можете использовать iconv
(1), который устанавливается из пакета libc в GNU/Linux или recode
. recode
имеет больше опций и лучшую обработку ошибок.