나는 단지 그것들을 기억할 수 없다. 그렇다면 구식 ASCII 라인을 올바르게 종료하는 올바른 방법은 무엇입니까?
나는 단지 그것들을 기억할 수 없다. 그렇다면 구식 ASCII 라인을 올바르게 종료하는 올바른 방법은 무엇입니까?
답변:
기억하기 위해 ' r etur n ' 이라는 단어를 사용하고 r은 n 앞에옵니다.
\n\r
그리고 \r\n
그들은 같은 효과를 않습니다되지 동일? 차이점을 알 수 있습니까?
C #을 사용 Environment.NewLine
하는 경우 MSDN 을 사용해야합니다 .
비 Unix 플랫폼의 경우 "\ r \ n"을 포함하는 문자열 또는 Unix 플랫폼의 경우 "\ n"을 포함하는 문자열
Environment.NewLine
것이 좋습니다. 그러나 잘 정의 된 형식으로 내용을 작성하는 경우 형식이 개행을 정의 할 수도 있습니다. 예를 들어, HTTP 프로토콜은 상태 있어야 사용하는 \r\n
플랫폼에 관계없이, 등 헤더의 줄 끝으로.
새 줄은 운영 체제에 따라 다릅니다.
DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
자세한 내용은 여기 : https://ccrma.stanford.edu/~craig/utility/flip/
의심스러운 경우 프리웨어 16 진 뷰어 / 편집기를 사용하여 파일이 새 줄을 어떻게 인코딩하는지 확인하십시오.
나를 위해, 내가 도움에 가이드를 다음을 사용 나를 기억 : 0D0A = \ 연구 \ n은 CR, LF = ca를 RR iage는 r에 eturn, 리 N 전자 공급
0D0A
마음으로 알고 있지만 여전히 \r
와를 혼동하는 사람들 중 하나입니다 \n
.
시퀀스는 CR (캐리지 리턴)-LF (라인 피드)입니다. 도트 매트릭스 프린터를 기억하십니까? 바로 그거죠. 따라서 올바른 순서는 \ r \ n입니다.
모든 .NET 언어에서 Environment.NewLine
선호됩니다.
이 작업을 수동으로 수행하는 데주의하십시오.
실제로 나는 이것을 하지 않는 것이 좋습니다.
실제로 우리는 플랫폼에 특정한 라인 종료 시퀀스 LTS에 대해 이야기하고 있습니다.
텍스트 모드에서 파일을 열면 (즉, 바이너리가 아닌) 스트림은 "\ n"을 플랫폼에 맞는 올바른 LTS로 변환합니다. 그런 다음 파일을 읽을 때 LTS를 "\ n"으로 다시 변환하십시오.
결과적으로 "\ r \ n"을 Windows 파일로 인쇄하면 실제 파일에 "\ r \ r \ n"시퀀스가 표시됩니다 (16 진 편집기로 확인).
물론 이것은 플랫폼간에 파일을 전송할 때 정말 고통입니다.
이제 네트워크 스트림에 쓰는 경우 수동으로 수행합니다 (대부분의 네트워크 프로토콜에서이를 구체적으로 부릅니다). 그러나 스트림이 해석을 수행하지 않도록해야합니다 (그래서 이진 모드가 적절했습니다).
\r\n
Windows는 잘 작동합니다.
\n
최신 버전의 메모장을 포함하여 Windows에서도 싱글 이 잘 작동합니다.
\r\n
내가 사용한 타자기와 반대 이기 때문에 기억이 나지 않습니다 .
음, 그것이 정상이라면 기억할 필요가 없었습니다 ...:-)
타자기에서 캐리지 리턴 레버 를 사용하여 줄을 완성 하면 드럼과 줄 바꿈 을 만들기 전에 캐리지 리턴 을 수동으로 조작 할 수 있습니다. .
freesound.org에서이 레코드를 통해 처음부터 용지 급지 소리를 들을 수 있으며 , 끝에서 약 -1 : 03 초 후에 울리는 드럼의 라인 사운드 종료 경고음이 울린 후 캐리지 리턴 중 하나.