En mi sistema de archivos (Windows 7) tengo algunos archivos de texto (estos son archivos de script SQL, si eso es importante).
Cuando se abre con Notepad ++ , en el menú "Codificación" se informa que algunos de ellos tienen una codificación de "UCS-2 Little Endian" y algunos de "UTF-8 sin BOM".
¿Cual es la diferencia aquí? Todos parecen ser guiones perfectamente válidos. ¿Cómo podría saber qué codificaciones tiene el archivo sin Notepad ++?
enca
y chardet
para sistemas POSIX.
iconv
en particular es útil para este propósito. Esencialmente, itera las cadenas de caracteres / texto corruptos a través de diferentes codificaciones para ver cuál funciona. Ganas cuando los personajes ya no están corrompidos. Me encantaría responder aquí, con un ejemplo programático. Pero desafortunadamente es una pregunta protegida.
chardet
o chardetect
no está disponible en su sistema, puede instalar el paquete a través de su administrador de paquetes (por ejemplo apt search chardet
, en ubuntu / debian, generalmente se llama python-chardet
o python3-chardet
) o mediante pip with pip install chardet
(o pip install cchardet
para la versión c-optimizada más rápida).