El Bloc de notas de Windows y el Bloc de notas++ muestran nuevas líneas en el mismo archivo de forma diferente

El Bloc de notas de Windows y el Bloc de notas++ muestran nuevas líneas en el mismo archivo de forma diferente

Creé un script en Perl que obtiene algunos datos y los inserta línea por línea en un archivo de texto. Cuando abro ese archivo con Notepad++, parece tener una separación de línea vacía entre cada dos líneas de texto, por ejemplo:

AAVX    Etracs Daily Short 1 Month S&P

ABCS    Guggenheim Abc High Dividend Et

ABI     Safety First Trust

Sin embargo, si abro el mismo archivo con el bloc de notas estándar de Windows, aparece sin espacios, de la siguiente manera:

AAVX    Etracs Daily Short 1 Month S&P
ABCS    Guggenheim Abc High Dividend Et
ABI     Safety First Trust

La pregunta es: ¿En cuál de los blocs de notas debo confiar y por qué sucede?

Respuesta1

Esto sucede cuando elfin de vidaLos caracteres de control no son correctos. Windows representa nuevas líneas con el carriage return+ line feed.

En Notepad++, puede verificar estos caracteres seleccionando:

Vista>Mostrar símbolos>[x] Show End of Line

bloc de notas++

Debe modificar su secuencia de comandos para que sus datos tengan el formato siguiente:

CRLF

Respuesta2

¿La configuración

Edit > EOL Conversion

¿Tiene algún efecto? Intente cambiarlo a UNIX.

Respuesta3

Tiene un carácter EOL que no es de Windows además del carácter EOL normal de Windows CrLf. Notepad++ comprende todos los caracteres EOL y los muestra todos. El Bloc de notas de Windows no es tan inteligente y omite los caracteres EOL que no son de Windows.

No conozco Perl, pero cuando esto me sucede casi siempre es porque la cadena que envío tiene el carácter EOL que no es de Windows al final. Pruebe el valor del código de caracteres Asc del último carácter de su cadena y elimínelo si es un archivo carriage return.

Ejemplo en VBA

If Asc(Right(sName, 1)) = 13 Then
   sName = Left(sName, Len(sName) - 1)
End If

información relacionada