Какой самый быстрый и простой инструмент или метод для преобразования текстовых файлов между наборами символов?
В частности, мне нужно конвертировать из UTF-8 в ISO-8859-15 и наоборот.
Все идет: одна строка на вашем любимом языке сценариев, инструменты командной строки или другие утилиты для ОС, веб-сайтов и т. Д.
Лучшие решения на данный момент:
В Linux / UNIX / OS X / cygwin:
Gnu iconv, предложенный Troels Arvin , лучше всего использовать в качестве фильтра . Кажется, это универсально доступно. Пример:
$ 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 ( Джей Базузи ):
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».
- CsCvt - Конвертер наборов символов Kalytta - еще один замечательный инструмент для конвертации Windows, основанный на командной строке.
recode
будет действовать как фильтр, если вы не передадите ему имя файла, например:recode utf8..l9 < in.txt > out.txt
enca
, вам не нужно указывать кодировку ввода. Достаточно часто просто указать язык: enca -L ru -x utf8 FILE.TXT
.
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
сохраненных только около семисот тысяч строк, только трети. С помощью версии на месте iconv -f UTF-32 -t UTF-8 file.csv
успешно преобразуются все 2 миллиона плюс строк.
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
но он конвертирует файл в UTF-8, но тогда он пуст! Notepad ++ говорит, что файл в формате Ansi, но, как я понимаю, читается, что это даже не правильный набор символов ?? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF