En los sistemas operativos Unix y similares , iconv (abreviatura de conversión de internacionalización ) [2] es un programa de línea de comandos [3] y una interfaz de programación de aplicaciones (API) estandarizada [4] que se utiliza para convertir entre diferentes codificaciones de caracteres . "Puede convertir de cualquiera de estas codificaciones a cualquier otra, mediante la conversión Unicode". [5]
Apareció inicialmente en el sistema operativo HP-UX , [6]iconv()
así como la utilidad fue estandarizada dentro de XPG4 y es parte de la Especificación Única de UNIX (SUS).
La mayoría de las distribuciones de Linux proporcionan una implementación, ya sea de la biblioteca C estándar de GNU (incluida desde la versión 2.1, febrero de 1999), o la más tradicional GNU libiconv
, para sistemas basados en otras bibliotecas C estándar.
La iconv
función [7] en ambos casos tiene licencia LGPL , por lo que se puede vincular con aplicaciones de código cerrado.
A diferencia de las bibliotecas, la iconv
utilidad está licenciada bajo GPL en ambas implementaciones. [8]
La implementación de GNU libiconv es portable y puede utilizarse en varios sistemas UNIX y no UNIX. La versión 0.3 data de diciembre de 1999.
La utilidad uconv de International Components for Unicode proporciona una sintaxis de línea de comandos compatible con iconv para la transcodificación.
La mayoría de los sistemas BSD utilizan la implementación de NetBSD, que apareció por primera vez en diciembre de 2004.
Actualmente, la variante GNU admite más de cien codificaciones de caracteres diferentes. [5]
En Microsoft Windows , la biblioteca iconv y la utilidad son proporcionadas por libiconv de GNU que se encuentra en los entornos Cygwin [9] y GnuWin32 [10] ; también hay una implementación "puramente Win32" llamada "win-iconv" que utiliza rutinas integradas de Windows para la conversión. [11] La función iconv también está disponible para muchos lenguajes de programación.
El comando iconv también ha sido portado al sistema operativo IBM i . [12]
stdin
se puede convertir de ISO-8859-1 a la configuración regional actual y generar como salida stdout
: [13]
iconov -f iso-8859-1
Un archivo de entrada infile
se puede convertir de ISO-8859-1 a UTF-8 y exportar a un archivo de salida outfile
mediante:
iconv -f iso-8859-1 -t utf-8 <archivo de entrada> -o <archivo de salida>