Cómo convertir archivos a la codificación UTF-8 en Linux

Cómo convertir archivos a la codificación UTF-8 en Linux

En esta guía, describiremos qué caracteres codifica y cubriremos algunos ejemplos de conversión de archivos de un carácter que codifica a otro usando una herramienta de línea de comandos. Luego, finalmente, veremos cómo convertir varios archivos de cualquier conjunto de caracteres (charlatán) a UTF-8 Codificación en Linux.

Como probablemente ya tenga en mente, una computadora no comprende o almacena letras, números o cualquier otra cosa que nosotros, como humanos, podemos percibir excepto bits. Un bit tiene solo dos valores posibles, eso es un 0 o 1, verdadero o FALSO, o No. Cualquier otra cosa, como letras, números, imágenes, deben estar representadas en bits para que una computadora procese.

En lenguaje sencillo, codificación de caracteres es una forma de informar a una computadora cómo interpretar los ceros crudos y los de los caracteres reales, donde un personaje está representado por un conjunto de números. Cuando escribimos texto en un archivo, las palabras y oraciones que formamos se cocinan de diferentes caracteres, y los caracteres se organizan en un charlatán.

Hay varios esquemas de codificación, como Ascii, Ansi, Unicode entre otros. A continuación se muestra un ejemplo de Ascii codificación.

Bits de personaje A 01000001 B 01000010 

En Linux, el iconv La herramienta de línea de comandos se utiliza para convertir el texto de una forma de codificación a otra.

Puede verificar la codificación de un archivo utilizando el archivo comando, utilizando el -i o --mímica Bandera que permite la impresión de la cadena de tipo MIME como en los ejemplos a continuación:

$ Archivo -i coche.Java $ Archivo -I CardRiver.Java 
Verifique la codificación del archivo en Linux

La sintaxis para usar iconv es como sigue:

$ iconv opción $ iconv opciones -f de codificación -t -to -coding file (s) -o outputFile 

Dónde -F o --desde el código significa codificación de entrada y -T o --codificación Especifica la codificación de salida.

Para enumerar todos los conjuntos de caracteres codificados conocidos, ejecute el comando a continuación:

$ iconv -l 
Lista de charsets codificados en Linux

Convertir archivos de UTF-8 a codificación ASCII

A continuación, aprenderemos cómo convertir de un esquema de codificación a otro. El comando a continuación se convierte de ISO-8859-1 a UTF-8 codificación.

Considere un archivo llamado aporte.archivo que contiene los personajes:

� � � � 

Comencemos por verificar la codificación de los caracteres en el archivo y luego ver el contenido del archivo. De cerca, podemos convertir todos los personajes a Ascii codificación.

Después de ejecutar el iconv Comando, luego verificamos el contenido del archivo de salida y la nueva codificación de los caracteres como se muestra a continuación.

$ File -i Entrada.Archivo de entrada $ CAT.Archivo $ iconv -f ISO-8859-1 -T UTF-8 // Entrada de traducido.Archivo -O Out.Archivar $ Cat Out.Archivo $ Archivo -I OUT.archivo 
Convertir UTF-8 a ASCII en Linux

Nota: En caso de que la cadena //IGNORAR se agrega a la codificación, caracteres que no se pueden convertir y se muestra un error después de la conversión.

De nuevo, suponiendo la cadena // TRANTIR se agrega a la codificación como en el ejemplo anterior (ASCII // TRANTIR), los caracteres que se convierten se transliteran según sea necesario y si es posible. Lo que implica en caso de que un personaje 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 personaje que no pueda ser transliterado y no está en el conjunto de caracteres objetivo se reemplaza con un signo de interrogación (?) en la salida.

Convertir múltiples archivos en codificación UTF-8

Volviendo a nuestro tema principal, para convertir múltiples o todos los archivos en un directorio a la codificación UTF-8, puede escribir un pequeño script de shell llamado codificación.mierda como sigue:

#!/bin/bash #enter Entrada de entrada aquí desde_encoding = "value_here" #output coding (utf -8) to_encoding = "utf -8" #convert convert = "iconv -f $ from_enCoding -t $ to_ENCODING" para convertir múltiples archivos para el archivo en *.TXT; hacer $ convert "$ archivo" -o "$ archivo%.TXT.UTF8.convertido "hecho la salida 0 

Guarde el archivo, luego haga que el script sea ejecutable. Ejecutarlo desde el directorio donde sus archivos (*.TXT) Están localizados.

$ chmod +x codificación.sh $ ./codificación.mierda 

Importante: También puede usar este script para la conversión general de múltiples archivos de una codificación dada a otra, simplemente reproducir con los valores del De_Encoding y To_encoding variable, sin olvidar el nombre del archivo de salida "$ archivo%.TXT.UTF8.convertido".

Para obtener más información, mire a través del iconv página del hombre.

$ hombre iconv 

Para resumir esta guía, comprender la codificación y cómo convertir de un esquema de codificación de caracteres a otra es el conocimiento necesario para cada usuario de la computadora más para los programadores cuando se trata de tratar con texto.

Por último, puede ponerse en contacto con nosotros utilizando la sección de comentarios a continuación para cualquier pregunta o retroalimentación.