Введение

Стандартная утилита UNIX

В операционных системах Unix и Unix-подобных системах iconv (сокращение от internationalization conversion – преобразование интернационализации) является программой командной строки и стандартизированным интерфейсом прикладного программирования (API), используемым для преобразования между различными кодировками символов. "Она может преобразовывать из любой из этих кодировок в любую другую, посредством преобразования в Unicode".

История

Первоначально появившись в операционной системе HP-UX, команда iconv и сама утилита были стандартизированы в XPG4 и входят в состав Единой спецификации UNIX (SUS).

Реализация

Большинство дистрибутивов Linux предоставляют реализацию, либо из библиотеки GNU Standard C (включенной с версии 2.1, февраль 1999 года), либо более традиционной GNU libiconv, для систем, основанных на других стандартных библиотеках C. Функция iconv в обеих реализациях лицензируется по лицензии LGPL, что позволяет связывать её с приложениями с закрытым исходным кодом. В отличие от библиотек, утилита iconv лицензируется под GPL в обеих реализациях. Реализация GNU libiconv является переносимой и может использоваться на различных UNIX-подобных и не-UNIX системах. Версия 0.3 датируется декабрем 1999 года. Утилита uconv из International Components for Unicode предоставляет синтаксис командной строки, совместимый с iconv, для транскодирования. Большинство систем BSD используют реализацию NetBSD, которая впервые появилась в декабре 2004 года.

Поддержка

В настоящее время поддерживается более ста различных кодировок символов. Также существуют реализации для сред GnuWin32 и "чисто Win32", под названием "win iconv", использующая встроенные в Windows процедуры преобразования. Функция iconv также доступна для многих языков программирования. Эта команда была портирована и на операционную систему IBM i.