traduccion online know how character-encoding file-format

character-encoding - online - how to know file encoding linux



Archivo de texto con 0D 0D 0A saltos de lĂ­nea (5)

Un cliente me está enviando un archivo .csv donde los saltos de línea se componen de la secuencia 0xD 0xD 0xA . Por lo que sé, los saltos de línea son 0xA de Mac o Unix o 0xD 0xA de Windows.

¿Es 0xD 0xD 0xA alguna codificación conocida? ¿Hay alguna secuencia conocida de ahorros que corrompa las terminaciones de línea de un archivo que causa esto (creo que el cliente usa una Mac)?

El archivo no comienza con ningún marcador de codificación, comienza directamente con el contenido del texto. El texto se muestra correctamente si se abre con la página de códigos 1252.


El CRCRLF se conoce como el resultado de un error de ajuste de palabra de bloc de notas de Windows XP .

Para referencia futura, aquí hay un extracto de relevancia del blog vinculado:

Cuando presiona la tecla Entrar en las computadoras con Windows, en realidad se almacenan dos caracteres: un retorno de carro (CR) y un avance de línea (LF). El sistema operativo siempre interpreta la secuencia de caracteres CR LF de la misma manera que la tecla Intro: se mueve a la siguiente línea. Sin embargo, cuando hay caracteres CR o LF adicionales por sí solos, esto a veces puede causar problemas.

Hay un error en la versión de Windows XP del Bloc de notas que puede provocar que se almacenen caracteres CR adicionales en la ventana de visualización. El error ocurre en la siguiente situación:

Si tiene activada la opción de ajuste de palabra y la ventana de visualización contiene líneas largas que se envuelven, guardar el archivo hace que el Bloc de notas inserte los caracteres CR CR LF en cada punto de ajuste en la ventana de visualización, pero no en el archivo guardado.

Los caracteres CR CR LF pueden causar rarezas si los copia y los pega en otros programas. También evitan que el Bloc de notas reenvuelva las líneas correctamente si cambia el tamaño de la ventana del Bloc de notas.

Puede eliminar los caracteres CR CR LF apagando la función de ajuste de palabras y luego volviendo a encenderla si lo desea. Sin embargo, el cursor se reposiciona al comienzo de la ventana de visualización cuando hace esto.


Esto generalmente proviene de un error en el sistema de control de revisiones o similar. Este fue un producto de CVS, si un archivo se registró desde Windows al servidor Unix, y luego se desprotegió nuevamente ...

En otras palabras, simplemente está roto ...


Los archivos con codificación ANSI de Netscape usan 0D 0D 0A para sus saltos de línea.


También se sabe que el correo de Apple produce un error de codificación en los archivos adjuntos de texto y csv. En esencia, reemplaza los terminadores de línea con saltos de línea suaves en cada línea, que se ven como = 0D en la codificación. Si el archivo adjunto se envía por correo electrónico a Outlook, Outlook ve la línea suave se rompe, elimina el = a continuación agrega saltos de línea real, es decir, 0D0A para que obtenga 0D0D0A (cr cr lf) al final de cada línea. La codificación debe ser = 0D = si es un archivo de formato mac (o cualquier otro sabor de Unix) o = 0D0A = si es un archivo de formato de Windows.

Si está enviando correos electrónicos de Apple Mail (por lo menos, mavericks o yosemite), hacer que el archivo adjunto no sea un archivo de texto o csv es una solución aceptable, por ejemplo, comprimirlo.

El error también existe si está ejecutando una VM de Windows bajo paralelos y envía un archivo de texto desde allí usando correo de Apple. Es la codificación del correo electrónico. Forma los comentarios anteriores aquí, parece que netscape tenía el mismo problema.


Simplemente diciendo, este es también el valor (tipo de ...) que devuelve php al:

<?php var_dump(urlencode(PHP_EOL)); ?> // Prints: string ''%0D%0A'' (length=6)-- used in 5.4.24 at least