У меня есть файлы .txt
и .java
, и я не знаю, как определить таблицу кодирования файлов (Unicode, UTF-8, ISO-8525,...). Существует ли какая-либо программа для определения кодировки файла или для просмотра кодировки?
Как определить таблицу кодировки текстового файла
Ответ 1
Если вы работаете в Linux, попробуйте file -i filename.txt
.
$ file -i vol34.tex
vol34.tex: text/x-tex; charset=us-ascii
Для справки, вот моя среда:
$ which file
/usr/bin/file
$ file --version
file-5.09
magic file from /etc/magic:/usr/share/misc/magic
Некоторые версии file
(например, файл-5.04 на OS X/macOS) имеют несколько разные ключи командной строки:
$ file -I vol34.tex
vol34.tex: text/x-tex; charset=us-ascii
$ file --mime vol34.tex
vol34.tex: text/x-tex; charset=us-ascii
Также посмотрите здесь.
Ответ 2
Откройте файл с помощью Notepad ++ и увидите в правом нижнем углу имя таблицы кодировки. А в кодировке меню вы можете изменить таблицу кодирования и сохранить файл.
Ответ 3
Вы не можете надежно обнаружить кодировку из текстового файла - что вы можете сделать, это сделать чтобы найти не-ascii char и попытаться определить, является ли это комбинация unicode, которая делает чувство на языках, которые вы разыгрываете.
Ответ 4
См. этот вопрос и выбранный ответ. У них нет уверенного способа сделать это. В лучшем случае вы можете это выпустить. Кодировки UTF вряд ли получат ложные срабатывания, но 8-битные кодировки жесткие, особенно если вы не знаете начальный язык. Никакой инструмент в настоящее время не обрабатывает все стандартные 8-битные кодировки с компьютеров Mac, Windows, Unix, но выбранный ответ обеспечивает алгоритмический подход, который должен адекватно работать для определенного подмножества кодировок.
Ответ 5
В текстовом файле отсутствует заголовок, который сохраняет кодировку или так. Вы можете попробовать выполнить команду linux/unix find
, которая пытается угадать кодировку:
file -i unreadablefile.txt
или на некоторых системах
file -i unreadablefile.txt
Но это часто дает вам text/plain; charset=iso-8859-1
, хотя файл нечитабелен (криптографические глифы).
Это то, что я сделал, чтобы найти правильную кодировку файла для нечитаемого файла, а затем перевести его в utf8 после установки iconv
. Сначала я пробовал все кодировки, отображая (grep
) строку, содержащую слово www. (адрес веб-сайта):
for ENCODING in $(iconv -l); do echo -n "$ENCODING "; iconv -f $ENCODING -t utf-8 unreadablefile.txt 2>/dev/null| grep 'www'; done | less
В этой последней командной строке показана проверенная кодировка файла, а затем переведенная/перекодированная строка.
Были некоторые строки, которые показывали читаемость и согласованность (по одному языку за раз). Я попробовал вручную некоторые из них, например:
ENCODING=WINDOWS-936; iconv -f $ENCODING -t utf-8 unreadablefile.txt -o test_with_${ENCODING}.txt
В моем случае это была китайская кодировка окон, которая теперь читается (если вы знаете китайский).