Windows 메모장과 Notepad++는 동일한 파일의 줄 바꿈을 다르게 표시합니다.

Windows 메모장과 Notepad++는 동일한 파일의 줄 바꿈을 다르게 표시합니다.

나는 일부 데이터를 가져와서 한 줄씩 텍스트 파일에 삽입하는 Perl 스크립트를 만들었습니다. Notepad++로 해당 파일을 열면 텍스트의 두 줄 사이에 빈 줄 구분이 있는 것처럼 보입니다. 예를 들면 다음과 같습니다.

AAVX    Etracs Daily Short 1 Month S&P

ABCS    Guggenheim Abc High Dividend Et

ABI     Safety First Trust

그러나 동일한 파일을 표준 Windows 메모장으로 열면 다음과 같이 공백 없이 나타납니다.

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

문제는 메모장 중 어느 것을 신뢰해야 하며 왜 그런 일이 발생합니까?입니다.

답변1

이는 다음과 같은 경우에 발생합니다.단종제어 문자가 올바르지 않습니다. Windows는 carriage return+ 로 줄바꿈을 나타냅니다 line feed.

Notepad++에서는 다음을 선택하여 이러한 문자를 확인할 수 있습니다.

보다>기호 표시>[x] Show End of Line

메모장++

데이터가 다음과 같은 형식이 되도록 스크립트를 수정해야 합니다.

CRLF

답변2

설정이 되나요

Edit > EOL Conversion

효과가 있나요? UNIX로 전환해 보십시오.

답변3

일반 Windows EOL 외에 비 Windows EOL 문자가 있습니다 CrLf. Notepad++는 다양한 EOL 문자를 모두 이해하고 모두 표시합니다. Windows 메모장은 그다지 똑똑하지 않으며 Windows가 아닌 EOL 문자를 건너뜁니다.

저는 Perl을 모르지만 제가 보내는 문자열의 끝에 Windows가 아닌 EOL 문자가 있기 때문에 이런 일이 발생하는 경우는 거의 항상 발생합니다. 문자열에서 마지막 문자의 Asc 문자 코드 값을 테스트하고 carriage return.

VBA의 예

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

관련 정보