miércoles, 30 de diciembre de 2020

Ver codificación de caracteres de un archivo y cambiarla a conveniencia

Podemos ver la codificación de caracteres de un archivo de una forma muy sencilla con el comando file.

file -i archivo.txt

El parámetro -i indica a file que muestre el tipo de codificación mime usado por el mismo.

Una vez sabemos el tipo de codificación, podemos convertirla si lo necesitamos con el comando iconv.

iconv -f ISO-8859-1 -t UTF-8//TRANSLIT archivo.txt -o archivo-nuevo.txt

En el ejemplo anterior estamos convirtiendo un archivo con formato ISO-8859-1 (comúnmente usado por Windows en paises latinos como España) a UTF-8, esto es muy habitual cuando por ejemplo en un archivo de texto encontramos símbolos extraños como � � en lugar de caracteres especiales o acentuados debido al cambio de juego de caracteres usado (linux trabaja por defecto con UTF-8).

El parámetro -f (from encoding) es para indicar el juego de caracteres usado por el archivo.

El parámetro -t (to encoding) es para indicar el juego de caracteres al que queremos convertir el archivo.

Con //TRANSLIT los caracteres que se convierten se transcriben según sea necesario y si es posible hacerlo. En caso de que un carácter no se pueda representar en el conjunto de caracteres objetivo, se puede aproximar a través de uno o más caracteres de aspecto similar.

En consecuencia, cualquier carácter que no pueda transliterarse y que no esté en el conjunto de caracteres objetivo se reemplaza con un signo de interrogación (?) en la salida.

Después se especifica la ruta/nombre del archivo a convertir y con el parámetro -o indicamos la ruta del archivo de salida (output) resultante.

Si necesitamos ver los juegos de caracteres disponibles podemos usar el comando iconv -l

 

No hay comentarios:

Publicar un comentario