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

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

En esta guía, describiremos qué codificación de caracteres y cubriremos algunos ejemplos de conversión de archivos de una codificación de caracteres a otra utilizando una herramienta de línea de comandos. Luego, finalmente, veremos cómo convertir varios archivos de cualquier juego de caracteres ( juego de caracteres. a la codificación UTF-8. en Linux.

Como usted Probablemente ya tengamos en mente que una computadora no comprende ni almacena letras, números o cualquier otra cosa que nosotros, como humanos, podamos percibir, excepto bits. Un bit tiene solo dos valores posibles, que es 0 o 1, verdadero o falso, sí o no. Todo lo demás, como letras, números e imágenes, debe representarse en bits para que una computadora lo procese.

En términos simples, la codificación de caracteres. es una forma de informar a una computadora cómo interpretar ceros y unos sin formato en caracteres reales, donde un carácter está representado por un conjunto de números. Cuando escribimos texto en un archivo, las palabras y oraciones que formamos se elaboran a partir de diferentes caracteres y los caracteres se organizan en un juego de caracteres.

Existen varios esquemas de codificación allí como ASCII. ANSI. Unicode. entre otros. A continuación se muestra un ejemplo de codificación ASCII.

Bits de caracteres A 01000001 B 01000010

En Linux, la herramienta de línea de comandos iconv. se usa para convertir texto de una forma de codificación a otro.

freestar.config.enabled_slots.push

Puede verificar la codificación de un archivo usando el archivo. utilizando el indicador-i o–mime que permite la impresión de una cadena de tipo mime como en los ejemplos siguientes:

$ file-i Car.java $ file-i CarDriver.java  Comprobar codificación de archivos en Linux  Comprobar codificación de archivos en Linux Comprobar codificación de archivos en Linux

La sintaxis para usar iconv. es la siguiente:

$ iconv opción $ iconv opciones-f de-codificación-t a-codificar archivo (s) de entrada-o archivo de salida

Donde-fo–desde-código significa codificación de entrada y-t o–to-encoding especifica la codificación de salida.

Para enumerar todos los conjuntos de caracteres codificados conocidos, ejecute el siguiente comando:

$ iconv-l  Lista de conjuntos de caracteres codificados en Linux  Listar conjuntos de caracteres codificados en Linux Listar conjuntos de caracteres 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 siguiente comando convierte la codificación ISO-8859-1. en UTF-8.

Considere un archivo llamado input.file que contiene los caracteres:

� � � �

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

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

$ archivo-i archivo de entrada $ archivo de entrada de gato $ iconv-f ISO-8859-1-t UTF-8//TRANSLIT archivo de entrada-o archivo de salida $ archivo de salida de gato $ archivo-i archivo de salida  Convertir UTF-8 a ASCII en Linux Convertir UTF-8 a ASCII en Linux Convertir UTF-8 a ASCII en Linux

Nota. En caso de que la cadena//IGNORE se agregue a la codificación, los caracteres que no pueden convertirse y se muestra un error después de la conversión.

Nuevamente, suponiendo que la cadena//TRANSLIT se agregue a la codificación como en el ejemplo anterior ( ASCII//TRANSLIT. , los caracteres que se están convirtiendo se transliteran según sea necesario y si es posible. Lo que implica que en el caso de que un carácter no se pueda representar en el conjunto de caracteres de destino, se puede aproximar a través de uno o más caracteres de aspecto similar.

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

Convertir varios archivos a codificación UTF-8

Volviendo a nuestro tema principal, convertir varios o todos los archivos de un directorio con codificación UTF-8, puede escribir un pequeño script de shell llamado encoding.sh. de la siguiente manera:

#!/bin/bash #introduzca la codificación de entrada aquí FROM_ENCODING = “valor_aquí” # codificación de salida (UTF-8) TO_ENCODING = “UTF-8” #convert CONVERT = “iconv-f $ FROM_ENCODING-t $ TO_ENCODING” # bucle para convertir varios archivos para un archivo en * .txt; do $ CONVERT “$ file”-o “$ file% .txt .utf8.converted” done exit 0

Guarde el archivo, luego haga que el script sea ejecutable. Ejecútelo desde el directorio donde se encuentran sus archivos (* .txt).

$ chmod + x encoding.sh $ ./encoding.sh

Importante. También puede utilizar este script para la conversión general de varios archivos de una codificación determinada a otra, simplemente juegue con los valores de la variable FROM_ENCODING y TO_ENCODING, sin olvidar el nombre del archivo de salida “$ file% .txt .utf8.converted “.

Para obtener más información, consulte la página de manual de iconv.

$ man iconv

Para resumir esta guía, comprenda la codificación y cómo convertir de un esquema de codificación de caracteres a otro es un conocimiento necesario para todos los usuarios de computadoras, más aún para los programadores cuando se trata de trabajar con texto.

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