7

Я использую Windows XP. Я ищу инструмент, который для данного каталога найдет все файлы, имеющие определенную кодировку символов (например, UTF-8). Вы знаете такой инструмент?

3 ответа3

4

Этот инструмент прекрасно работает. Проверьте это. Он показывает все файлы и их кодировки для папки.

http://encodingchecker.codeplex.com/releases/view/59420

Существует также это для массового изменения файлов на UTF8.

http://www.rotatingscrew.com/utfcast.aspx

3

В общем случае это невозможно - за исключением особого случая текстовых файлов UTF-8 с меткой порядка байтов. Поскольку имя кодировки не сохраняется в текстовом файле, единственный способ сказать, например, что CP437 из CP850 состоит в том, чтобы сделать предположение на основе статистического анализа всего файла, глядя на частоту определенных пар символов и т.д.

У пользователей Solaris есть auto_ef, но, насколько я знаю, нет порта Windows.

Пользователи Perl имеют Encode::Guess

Согласно Википедии "Новые версии команды Unix File пытаются выполнить базовое обнаружение кодировки символов. (Также доступно в cygwin и mac)"

Ничто из перечисленного не будет на 100% надежным. Если ваши файлы определенно находятся в одной из нескольких известных кодировок, вы можете добиться большего успеха.

1

В Windows это возможно путем поиска правильной метки порядка байтов (BOM) при условии, что файлы были созданы с помощью спецификации.

Вам понадобится программа поиска для этого.
Одной из возможностей может быть Grep для Windows и поиск с использованием начала файлового оператора (^^).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .