Herramientas de usuario

iconv

El programa iconv es un filtro que permite convertir la 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 Eñes en texto-plano

Uso

Primero te convendrá utilizar el programa 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 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 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!

Este sitio web utiliza cookies para guardar datos esenciales de su actividad, como su autenticación. Al entrar acepta el uso de cookies.

Más información