====== iconv ====== El programa **iconv** es un [[filtros|filtro]] que permite convertir la [[codificación de texto|codificaciones de texto]] utilizada por fichero de texto a otra diferente. iconv resulta especialmente útil si encuentras errores en los en la representación de caracteres extendidos, tales como vocales acentuadas, eñes, diacríticos y demás símbolos. >Cada fichero de texto plano recibe una codificación determinada, la cual especifica la manera en la cual se describen los caracteres que la componen. Cada una de dichas codificaciones por defecto se representarán de acuerdo a la codificación especificada localmente por el usuario (por ejemplo, ''utf-8'', etc. El texto convertido se presenta en la salida estándar. __Ver también__: [[acentos_y_enes_en_texto-plano.xyz|Acentos y Eñes en texto-plano]] ====Uso==== Primero te convendrá utilizar el programa [[tutorial_basico_de_la_consola#fileexamina_el_tipo_de_fichero|file]] para conocer cuál es la codificación actual del fichero de texto que deseas convertir (pues no son pocos los sistemas operativos que asignan metadatos a los mismos que permiten dilucidar cómo están codificados). De esta manera: file fichero.txt fichero.txt: Codepage CP850 extended-ASCII text Sabiendo qué codificiación tiene (en este ejemplo, ''Codepage CP850 extended-ASCII text'', podrás ahora usar iconv con mayor efectividad. iconv convertirá desde una codificación dada con la opción de origen ''-f'', a otra indicada con la opción de destino ''-t''. Por ejemplo, para convertir ''fichero.txt'' desde la antigua codificación Codepage CP850 al estándar UTF-8 empleando en Linux, y mostrarlo en pantalla (sin guardarlo), podrás ingresar: iconv -f cp850 -t utf8 fichero.txt Una vez que estés satisfecho con la conversión en pantalla, podrás realizarla a un fichero por medio de una redirección: iconv -f cp850 -t utf8 < fichero.txt > fichero_convertido.txt Si deseas una referencia, podrás ver un listado textual de las distintas [[codificacion de texto|codificaciones de texto]] incorporadas al sistema con: iconv -l ===Ejemplos de conversiones con iconv=== Encontrarás aquí algunos ejemplos prácticos bastante utilizados ==Conversión de UNICODE a ASCII== Podrías querer convertir de UNICODE a ASCII, para trabajar en una [[retrocomputo|máquina o sistema de cómputo antiguo]]: iconv -f UTF-8 -t ASCII//TRANSLIT < ficheroUNICODE.txt > ficheroASCII.txt ==Conversión desde archivos de MSDOS a UTF8== Podrás querer convertir un viejo fichero de MS-DOS a un estándar UTF8: iconv -f cp437 -t utf8 < fichero_dos.txt > fichero_utf8.txt ==Conversión desde ficheros de Windows a UTF8== Esto te permitirá convertir ficheros típicos preparados por Windows 95, 98, Me, XP, a UTF8 para usar en Linux: iconv -f WINDOWS-1252 -t utf8 < fichero_windows.txt > fichero_utf.txt ==Conversión de UTF8 a ASCII== Convertir en sentido inverso (desde una codificación "moderna" a una antigua) puede presentar limitaciones, pero puede servir en algunos casos. cat fichero_con_acentos.txt ¿La Eñe? ¡Claro que sí! cat fichero_con_acentos.txt | iconv -t ASCII//TRANSLIT > fichero_ascii.txt cat fichero_ascii.txt ?La e~ne? !Claro que s'i!