GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo detectar automáticamente la codificación de archivos de texto?

Pruebe el módulo chardet Python, que está disponible en PyPI:

pip install chardet

Luego ejecuta chardetect myfile.txt .

Chardet se basa en el código de detección utilizado por Mozilla, por lo que debería dar resultados razonables, siempre que el texto de entrada sea lo suficientemente largo para el análisis estadístico. Lea la documentación del proyecto.

Como se menciona en los comentarios, es bastante lento, pero algunas distribuciones también envían la versión original de C++ como @Xavier encontró en https://superuser.com/a/609056. También hay una versión de Java en alguna parte.


Usaría este comando simple:

encoding=$(file -bi myfile.txt)

O si solo desea el conjunto de caracteres real (como utf-8 ):

encoding=$(file -b --mime-encoding myfile.txt)

En Linux basado en Debian, el paquete uchardet (Debian/Ubuntu) proporciona una herramienta de línea de comandos. Vea a continuación la descripción del paquete:

 universal charset detection library - cli utility
 .
 uchardet is a C language binding of the original C++ implementation
 of the universal charset detection library by Mozilla.
 .
 uchardet is a encoding detector library, which takes a sequence of
 bytes in an unknown character encoding without any additional
 information, and attempts to determine the encoding of the text.
 .
 The original code of universalchardet is available at
 http://lxr.mozilla.org/seamonkey/source/extensions/universalchardet
 .
 Techniques used by universalchardet are described at
 http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html

Linux
  1. Cómo agregar fácilmente texto al final del archivo en Linux

  2. ¿Cómo mover una línea en un archivo de texto hacia arriba o hacia abajo una línea?

  3. ¿Cómo analizar cada línea de un archivo de texto como un argumento para un comando?

  4. ¿Cómo elimino líneas nuevas de un archivo de texto?

  5. ¿Cómo insertar un texto al principio de un archivo?

Cómo comparar y fusionar archivos de texto en Linux

Cómo crear directorios desde un archivo de texto en Linux

Cómo guardar la salida del comando de Linux en una imagen o un archivo de texto

Cómo bloquear un archivo de texto en Linux usando el comando flock

Cómo imprimir líneas duplicadas en un archivo de texto en Linux

Cómo agregar texto al comienzo del archivo en Linux