Iconv | это... Что такое Iconv? (original) (raw)

Iconv

iconv — утилита UNIX (и одноимённая библиотека) для преобразования текста из одной кодировки в другую. Также портирована под Windows (http://gnuwin32.sourceforge.net/packages/libiconv.htm)

Содержание

Синтаксис

  iconv [-c] [-s] [-f _encoding_] [-t _encoding_] [_inputfile_ ...]
  iconv -l

Описание

Утилита iconv конвертирует текст из одной кодировки в другую. Входная кодировка задаётся ключом -f, а выходная — ключом -t. Любая из этих кодировок по умолчанию равна локали системы. Все входные файлы читаются по очереди, если не задан параметр входного файла, то используется стандартный ввод, а конвертируемый текст выводится на стандартный вывод.

Когда задана опция -c, символы, которые не могут быть преобразованы просто выбрасываются. В противном случае при появлении подобной ошибки программа аварийно завершается.

Когда задана опция -s, сообщения об ошибках не выводятся.

Ключ -l выводит список доступных кодировок.

Примеры

Массовое перекодирование

Следующий скрипт находит все файлы в текущей директории с расширением *.java, перекодирует их в UTF-8 и результат копирует в папку res

mkdir res find -maxdepth 1 -iname "*.java" -type f -exec bash -c "cat {} | iconv -c -f WINDOWS-1251 -t UTF-8> ./res/{}" ;

перекодирование всех файлов в директории с их заменой

for i in *; do iconv -f WINDOWS-1251 -t UTF-8 "$i" >tmp; mv tmp "$i"; done

или файлы необходимого типа и рекурсивно (в примере txt файлы):

find . -name '*.txt' | while read i; do iconv -f WINDOWS-1251 -t UTF-8 "$i" >tmp; mv tmp "$i"; done

или так (рекурсивное перекодирование всех файлов html):

#!/bin/sh for i in find . -name '*.html' -type f do echo $i iconv -f WINDOWS-1251 -t UTF-8 "$i" > tmp mv -f tmp "$i" done

См. также

Ссылки

Стандартные программы UNIX (все программы)
Файловые системы chrootdddffdiskfsckgrublilomke2fs • mkreiserfs • mkisofsmkswapmountumount
Файлы и каталоги catchattrcdchmodchownchgrpcksumcmpcpdiffdufilefuserlnlslsofmkdirmv • od • pwdrmrmdirsplittouch
Процессы atcrontabexitkillkillallnicenohuppgreppidofpkillpsrenicesleeptimetopwaitwatch
Пользователи envfingeridlognamemesgpasswdsusudouptimewwallwhowhoamiwrite
Сеть ftp • hostifconfignetcatnetstatnmapnslookuppingrloginsshtraceroutewget
Тексты AWKcommcutedex • expand • unexpand • fmtheadiconvjoinlessmorepaste • pr • sedsorttactailtruniqwcxargs
Командная строка aliasbasenamebashbinddirnameechoexprfalseprintftesttrueunset
Поиск findgrepstringswhereiswhich
Разное bannerbccaldate • help • lpman • history • sizeteeunameyes
Кодировки символов
Основы → алфавиттекст ( файлданные ) • набор символов • конверсия
Исторические кодировки → Докомп.: семафорная (Макарова)МорзеБодоМТК-2 Комп.: 6 битУППRADIX-50EBCDIC ( ДКОИ-8 ) • КОИ-7ISO 646
совре-менное 8-битноепредстав-ление символы ASCII ( управляющиепечатные ) не-ASCII ( псевдографика )
8бит. код.стр. Разные → Кириллица: КОИ-8ГОСТ 19768-87MacCyrillic
ISO 8859 1(лат.) 2 3 4 5**(кир.)** 6 7 8 9 10 11 12 13 14 15(€) 16
Windows → 1250 1251**(кир.)** 1252 1253 1254 1255 1256 1257 1258 | WGL4
IBM&DOS → 437850852855866 «альт.» ( МИК )
Много-байтные Традиционные → DBCS ( GB2312 ) • HTML
Unicode UTF-16UTF-8список символов ( кириллица )
Связанныетемы → интерфейс пользователяраскладки клавиатурлокальперевод строкишрифткрокозябрытранслитнестандартные шрифтытекст как изображение Утилиты: iconvrecode

Wikimedia Foundation.2010.