Какой самый быстрый и простой инструмент или метод для преобразования текстовых файлов между наборами символов?
В частности, мне нужно конвертировать из UTF-8 в ISO-8859-15 и наоборот.
Все идет: одна строка на вашем любимом языке сценариев, инструменты командной строки или другие утилиты для ОС, веб-сайтов и т.д.
Лучшие решения на данный момент:
В Linux / UNIX / OS X / cygwin:
Gnu iconv предложено Троэльс Арвин лучше всего использовать в качестве фильтра . Кажется, это универсально доступно. Пример:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Как указывает Бен , существует онлайн-конвертер с использованием iconv .
Gnu перекодировать ( руководство ), предложенное Cheekysoft , преобразует один или несколько файлов на месте . Пример:
$ recode UTF8..ISO-8859-15 in.txt
Этот использует более короткие псевдонимы:
$ recode utf8..l9 in.txt
Recode также поддерживает поверхностей , которые можно использовать для преобразования между различными типами окончания строки и кодировками:
Конвертировать переводы строк из LF (Unix) в CR-LF (DOS):
$ recode ../CR-LF in.txt
Файл кодирования Base64:
$ recode ../Base64 in.txt
Вы также можете комбинировать их.
Преобразование файла UTF8 в кодировке Base64 с окончаниями строк Unix в файл Latin 1 в кодировке Base64 с окончаниями строк Dos:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
В Windows с Powershell ( Jay Bazuzi ):
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(хотя поддержка ISO-8859-15 не поддерживается; в нем говорится, что поддерживаются кодировки unicode, utf7, utf8, utf32, ascii, bigendianunicode, default и oem.)
Редактировать
Вы имеете в виду поддержку iso-8859-1? Использование "String" делает это, например, для наоборот
gc -en string in.txt | Out-File -en utf8 out.txt
Примечание. Возможные значения перечисления: «Неизвестно, Строка, Юникод, Байт, BigEndianUnicode, UTF8, UTF7, Ascii».