Преобразуйте много файлов в то же кодирование

Я хотел бы удостовериться, что все мои файлы правильно кодируются в UTF-8 в большом репозитории проекта. Существует ли инструмент для этого или способа сделать это с помощью инструментов Unix?

1
задан 17.11.2009, 13:33

1 ответ

В целом нет никакого способа сделать это. UTF-8 не имеет никакого "магического числа" или маркера, таким образом, можно только доказать, что файл не находится в UTF-8 (если он содержит недопустимые последовательности), но не, что это.

Можно однако использовать эвристический подход. То, что точно работает, будет зависеть от Ваших данных.

Одна идея:

  • Составьте список всех файлов, которые являются текстовыми файлами и содержат символы неASCII. Вторая часть легка сделать жемчуг использования или подобный; первое будет зависеть, на каких файлах Вы имеете. Unix file также проверит на символы неASCII, но это менее надежно (только проверки запускаются файла).
  • Если список является маленьким, проверьте файлы вручную. Иначе проверьте, которые являются допустимым UTF-8 (снова, жемчуг имеет модули для этого, или используйте инструмент как iconv или recode). Допустимые файлы UTF-8, вероятно, в порядке. Остальные должны будут быть проверены вручную (если Вы не знаете наверняка, как они кодируются).
1
ответ дан 17.12.2019, 00:58

Теги

Похожие вопросы