programing

Windows 캐리지 리턴은 \ r \ n 두 문자 또는 한 문자로 구성됩니까?

nasanasas 2020. 10. 24. 10:22
반응형

Windows 캐리지 리턴은 \ r \ n 두 문자 또는 한 문자로 구성됩니까?


윈도우 캐리지 리턴은 \r\n그 동안 \n유닉스에서, \r\n두 개의 문자로 취급?


다음은 두 문자입니다.

  • \r 캐리지 리턴입니다.
  • \n 줄 바꿈입니다.

결합 된 두 문자는 Windows에서 새 줄을 나타냅니다. 반면 Linux에서는 \n새로운 행을 나타냅니다. Linux에서 새 줄의 시작 부분으로 커서를 이동합니다. Windows에서 커서는 콘솔의 동일한 열에 있지만 다음 행에 있습니다.

\rLinux에서는 Windows에서와 동일한 효과가 있습니다. 커서를 줄의 시작 부분으로 이동합니다. \r대신 사용되는 동일한 줄에 다른 정보를 인쇄 할 수 있습니다 \n.


사실 \r is 0x0D (^M) and \n is 0x0A (^J),하지만 ..... Windows :

\n will write 0x0D 0x0A

유닉스에서 :

\r will write 0x0D
\n will write 0x0A

설정에 따라 다릅니다. \r\n넓은 두 바이트 (ASCII에서이 UTF-8 등),하지만 난 / O 라이브러리와 같은 C의입니다 stdio텍스트 모드에서 작동 할 때 라이브러리와 다른 사람 사이에 변환 할 수 \n\r\n준 투명하게.

즉, Windows 플랫폼에서 텍스트 모드 스트림 txt_in읽는 C 프로그램

while ((c = getc(txt_in)) != EOF)
    printf("%02x\n", c);

에 대한 ASCII 코드를보고하지 않습니다 \r. 반대로 putc('\n', txt_out)실제로 \r\n텍스트 모드 스트림에 씁니다 txt_out.


Windows는와 \r\n다른 두 문자를 구분하지 않습니다 . 당신은 C 런타임을 사용하여 텍스트로 파일을 열 경우 : 그러나, 하나 개의 문자로 취급 한 상황이 \r\n로 읽을 수 있습니다 파일에 \n, 그리고 \n같은 파일에 기록됩니다 \r\n.


네, 두 문자입니다 : 캐리지 리턴 '\ r'다음에 줄 바꿈 '\ n'.


나는 윈도우에서 메모장 ++와 숭고한 텍스트 2 몇 가지 테스트 (아무것도 공상)를 실시, 그것은 밝혀 \r\n실제로 2 개 별개의 문자입니다,하지만 ...

다른 텍스트 편집기가 삽입되거나 Return 키를 눌렀을 \r삽입되지 않을 수 있습니다 .

텍스트 편집기에서 다음을 시도하십시오.

1
2
3
4
5

그런 다음 Ctrl + F를 누르고 정규 표현식을 활성화하고 \r. 텍스트 편집기 및 해당 설정에 따라 각 줄의 끝에서 문자를 '적중'하거나 '적중하지 않을'수 있습니다. 위의 텍스트를 다른 편집기에서 복사하여 붙여 넣은 경우 동작도 다를 수 있습니다.

일부 텍스트 편집기는 설정에서 사용자 정의를 허용합니다. 여기서 Return 키 를 누를 때 삽입 할 \r\n유닉스 스타일 또는 선호 여부를 지정할 수 있습니다 . 또한 파일을 저장하기 전에 문자를 제거하거나 삽입하여 일관된 스타일 적용 하도록 선택할 수 있습니다 .\n\r

참고 URL : https://stackoverflow.com/questions/7013034/does-windows-carriage-return-rn-consist-of-two-characters-or-one-character

반응형