Texto ASCII extendido no ISO


3

cuando intenté conocer la codificación del archivo all.txt usando

$ file all.txt

muestra este mensaje

all.txt: Non-ISO extended-ASCII text, with very long lines

¿Cuál es el tipo de este texto de codificación ASCII extendido no ISO?

porque necesito convertirlo a otra codificación, así que necesito saber la codificación de este archivo

¿alguna ayuda?

Respuestas:


6

Es algo que no se parece a utf-8 o iso-8859-1. Puede ser cualquier otra cosa. Incluso puede no ser un texto en absoluto. Este tipo es una especie de descripción alternativa para cualquier cosa que no contenga cero bytes.

Incluso si en realidad es un archivo de texto (la extensión sugiere que podría serlo), desafortunadamente no hay una forma automática de encontrar la codificación, porque la mayoría de las codificaciones tienen el mismo rango de códigos válidos. Utf-8 se puede distinguir con mucha confianza, pero más allá de eso requiere verificación manual.

Primero debe averiguar en qué idioma se encuentra el archivo para tener una idea de cuál es el contenido correcto y cuál es el contenido confuso y tener una lista de posibles codificaciones. Porque hay millones de codificaciones, pero solo unas pocas se usaron para un idioma en particular.

Luego, debe intentar convertir el archivo de cada codificación posible y para cada conversión que tenga éxito técnicamente (que desafortunadamente será la mayoría de ellas), vea el resultado y compruebe si es correcto o no.

Un corrector ortográfico podría ayudarlo con la revisión, ya que las conversiones incorrectas conducirán a más errores del corrector ortográfico.

Para la conversión, puede usar iconv(1) , que se instala desde el paquete libc en GNU / Linux o recode. recodetiene más opciones y mejor manejo de errores.


esta respuesta es en realidad la descripción más convincente, concisa y útil de todo el espacio que he visto
John Bachir

6

Esto no cabe en un comentario, así que aquí va: yo también tenía un archivo extraño en mis manos:

$ file systeminfo.txt 
systeminfo.txt: texto ASCII extendido no ISO

Sabía que esto fue generado por una instalación alemana de Windows XP y contenía algunas diéresis, pero iconvno pude convertirlo en algo sensato:

$ iconv -t UTF-8 systeminfo.txt> systeminfo_utf8.txt 
iconv: secuencia de entrada ilegal en la posición 308

Pero dado que iconvconoce tanta codificación, utilicé un enfoque de fuerza bruta para descubrir una codificación de fuente de trabajo :

$ iconv --list | sed 's / \ / \ / $ //' | sort> encodings.list
$ para un en `cat encodings.list`; hacer
  printf "$ a"
  iconv -f $ a -t UTF-8 systeminfo.txt> / dev / null 2> & 1 \
    && echo "ok: $ a" || echo "falla: $ a"
hecho | tee result.txt

Luego iría result.txty buscaría la codificación que no falló. En mi caso, -f CP850 -t UTF-8funcionó bien, y las diéresis todavía están allí, solo ahora codificadas en UTF-8 :-)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.