LinuxParty
En esta guía, describiremos qué es la codificación de caracteres y cubriremos algunos ejemplos sobre cómo convertir archivos de una codificación de caracteres a otra utilizando una herramienta de línea de comandos. Finalmente, veremos cómo convertir varios archivos de cualquier conjunto de caracteres (juego de caracteres ) a la codificación UTF-8 en Linux.
Como probablemente ya tenga en mente, una computadora no entiende ni almacena letras, números o cualquier otra cosa que nosotros, como humanos, podamos percibir, excepto bits. Un bit tiene solo dos valores posibles, es decir, a "0"
o "1"
, "true"
o "false"
, "yes"
o "no
". Todo lo demás, como letras, números e imágenes, debe representarse en bits para que una computadora los 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 procesar en caracteres reales, donde un carácter se representa mediante un conjunto de números. Cuando escribimos texto en un archivo, las palabras y oraciones que formamos se preparan a partir de diferentes caracteres y los caracteres se organizan en un juego de caracteres .
Existen varios esquemas de codificación, como ASCII , ANSI , Unicode , entre otros. A continuación se muestra un ejemplo de codificación ASCII .
bits de caracteres 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 otra.
Puede verificar la codificación de un archivo usando el comando de archivo , usando el indicador -i
o --mime
que habilita la impresión de cadenas de tipo mime como en los ejemplos a continuación:
$ file -i GConv.java $ file -i GFileUtilityMethods.java
Compruebe la codificación de archivos en Linux
La sintaxis para usar iconv es la siguiente:
$ iconv opción $ iconv opciones -f desde-encoding -t a-encoding archivo(s)-de-entrada -o archivo-de-salida
Donde -f
o --from-code
significa codificación de entrada y -t
o --to-encoding
especifica codificación de salida.
Para enumerar todos los conjuntos de caracteres codificados conocidos, ejecute el siguiente comando:
$ iconov -l
Lista de juegos de caracteres codificados en Linux
Convierta archivos de codificación UTF-8 a 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 a UTF-8 .
Considere un archivo llamado input.file
que contiene los caracteres:
� � � �
Comencemos comprobando 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 la nueva codificación de los caracteres como se muestra a continuación.
$ file -i input.file
$ cat input.file � � � �$ iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.file -o out.file
$ cat out.file
ǚ Ǜ Ǣ ǣ
$ file -i out.file
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 se pueden convertir y se muestra un error después de la conversión.
Nuevamente, suponiendo que la cadena //TRANSLIT
se agrega a la codificación como en el ejemplo anterior ( ASCII//TRANSLIT ), los caracteres que se convierten se transliteran según sea necesario y si es posible. Lo que implica que, en el caso de que un personaje no se pueda representar en el conjunto de caracteres de destino, se puede aproximar a través de uno o más personajes de aspecto similar.
En consecuencia, cualquier carácter que no se pueda transliterar y que no esté en el conjunto de caracteres de destino se reemplaza con un signo de interrogación (?)
en la salida.
Convierta varios archivos a la 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 encoding.sh de la siguiente manera:
#!/bin/bash #enter input encoding here FROM_ENCODING="value_here" #output encoding(UTF-8) TO_ENCODING="UTF-8" #convert CONVERT=" iconv -f $FROM_ENCODING -t $TO_ENCODING" #loop to convert multiple files for file in *.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 *.txt
se encuentran sus archivos ( ).
$ chmod +x codificación.sh $ ./codificación.sh
Importante : también puede usar este script para la conversión general de varios archivos de una codificación dada 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, comprender 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 manejar texto.
Por último, puede ponerse en contacto con nosotros utilizando la sección de comentarios a continuación para cualquier pregunta o comentario.
-
AMD
- 10 comandos "IP" útiles para configurar interfaces de red
- Nvidia anuncia la RTX 4070, una 'GPU de escritorio con un precio algo razonable'
- Los lenguajes de programación favoritos por los grandes directivos de Empresas TI y Sotware
- Cómo utilizar los volúmenes de Docker para programar más rápido
- Entrenador en el móvil, ya es posible para mantenerte en forma.
- Cómo monitorear, vigilar y controlar la actividad de los usuarios de Linux con las herramientas psacct o acct
- Un dron que se parece y mueve como un pájaro, vuela más de hora y media. ¿Podrían vigilar parques nacionales y naturales?
- Crear una nueva partición. Convertir un directorio /Home a una partición Linux
- Cómo colaborar en documentos usando ONLYOFFICE Workspace
- Dinamarca y Alemania ahora construyen el túnel sumergido más largo del mundo
- Ejecución de comandos en un host Linux/UNIX remoto
- Cómo instalar Drupal CMS en Centos, AlmaLinux Rocky Linux y RHEL 8
- Cómo convertir archivos a codificación UTF-8 en Linux
- El petroleo podría no ser fósil, según la teoria de algunos científicos.
- Descubren una técnica para rejuvenecer la piel 30 años