У меня есть 3 типа file name
кодировок на reiserfs
смонтированном жестком диске: CP1251, KOI-8, UTF-8 и ASCII. Мне действительно нужно конвертировать все кодировки в UTF-8, рекурсивно. Есть ли какая-либо утилита, которая обнаружит исходную кодировку и преобразует ее в UTF-8, или мне нужно написать скрипт на Python?
8
detox
. У меня это работало между ISO-8859-1 и UTF-8 с использованием-s iso8859_1-only
Ответы:
Используйте convmv, инструмент CLI, который преобразует имя файла между различными кодировками. Чтобы преобразовать из (
-f
) этих элементов в (-t
) UTF-8, сделайте следующее:Кроме того, если вы хотите преобразовать содержимое файла, используйте
iconv
инструмент CLI для преобразования содержимого файла в различные кодировки. Чтобы преобразовать из (-f
) этих элементов в (-t
) UTF-8, сделайте следующее:источник
Нет. Одним из больших недостатков старой системы кодовых страниц является то, что нет способа определить, какая из них используется; Вы должны просто знать, что априори. Если вы знаете, какие файлы используют какую кодировку, вы можете преобразовать имена, используя что-то вроде:
источник
chardet
как-то обнаруживает это ...То же решение,
iconv
что и для @psusi sugeses, но с циклом и while-картой:Также oneline shell
sh
скрипт:С чтением пока-карты из трубопровода:
источник