En Unix y sistemas operativos similares a Unix , iconv (una 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 cualquiera de estas codificaciones a cualquier otra mediante la conversión Unicode". [5]
Apareció inicialmente en el sistema operativo HP-UX , [6]iconv()
y la utilidad se estandarizó dentro de XPG4 y es parte de la Especificación Única UNIX (SUS).
La mayoría de las distribuciones de Linux proporcionan una implementación, ya sea de la Biblioteca GNU Estándar C (incluida desde la versión 2.1, febrero de 1999), o de la más tradicional GNU libiconv
, para sistemas basados en otras Bibliotecas Estándar C.
La iconv
función [7] en ambos tiene licencia LGPL , por lo que se puede vincular con aplicaciones de código cerrado.
A diferencia de las bibliotecas, la iconv
utilidad tiene licencia GPL en ambas implementaciones. [8]
La implementación de GNU libiconv es portátil y se puede utilizar 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, se admiten 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 las 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 se ha adaptado al sistema operativo IBM i . [12]
stdin
se puede convertir de ISO-8859-1 a la configuración regional actual y generarla stdout
usando: [13]
iconov -f iso-8859-1
Un archivo de entrada infile
se puede convertir de ISO-8859-1 a UTF-8 y generarlo en un archivo de salida outfile
usando:
iconv -f iso-8859-1 -t utf-8 <archivo de entrada> -o <archivo de salida>