CR과 LF
캐리지 리턴 (CR) 및 라인 피드 (LF)를 포함하여 미국 정보 교환 표준 (ASCII) 정의 제어 문자는 프린터의 인쇄 위치를 제어하는 데 사용되었지만 여전히 초기 컴퓨터 프린터 이전의 기계식 타자기.
플랫폼 의존성
Windows에서 텍스트 파일의 기존 줄 구분 기호는 CR이고 LF가 뒤에옵니다.
이전 (OSX 이전) Apple Macintosh 시스템에서 텍스트 파일의 기존 줄 구분 기호는 CR이었습니다.
유닉스와 리눅스에서 텍스트 파일의 전통적인 줄 구분자는 LF입니다.
\ n과 \ r
많은 프로그래밍 및 스크립팅 언어에서 \n
"새 줄"을 의미합니다. 때때로 (항상 그런 것은 아님) 이것은 ASCII LINE-FEED 문자 (LF)를 의미합니다. 프린터 나 타자기에서는 실제로 용지를 한 줄 위로 이동합니다.
항상 \r
캐리지 리턴 키가있는 기계식 타자기에서 유래 한 ASCII CARRIAGE-RETURN 문자 (CR)는 스프링을 사용하여 용지를 운반하는 롤러 ( "캐리지")가 오른쪽으로 이동하고, 가능한 한. 따라서 현재 입력 위치를 왼쪽 여백으로 설정하십시오.
프로그램 작성
일부 프로그래밍 언어 \n
에서 텍스트 파일에서 줄을 끝내거나 구분하는 플랫폼 종속 문자 시퀀스를 의미 할 수 있습니다. 예를 들어 Perl의 경우 print "\n"
Linux와 Windows의 문자 시퀀스가 다릅니다.
당신이 런타임 플랫폼의 기본 라인 엔딩을 사용하려면 자바에서 가장 좋은 방법은, 사용하지 않는 것입니다 \n
또는 \r
전혀. 을 사용해야합니다 System.getProperty("line.separator")
. 당신은 사용해야 \n
와 \r
관계없이 플랫폼의 LF와 CR 원하는 위치 (HTTP, FTP 및 기타 인터넷 통신 프로토콜에 예를 들어, 사용).
유닉스 stty
유닉스 셸 stty
에서이 명령을 사용하여 셸이 이러한 다양한 규칙간에 변환되도록 할 수 있습니다. 예를 들어 stty -onlcr
, 쉘은 이후에 나가는 모든 LF를 CR LF로 변환합니다.
Linux 및 OSX는 Unix 규칙을 따릅니다.
텍스트 파일
텍스트 파일은 여전히 매우 중요하고 널리 사용됩니다. 예를 들어 HTML 및 XML은 텍스트 파일의 예입니다. HTTP와 같은 대부분의 중요한 인터넷 프로토콜은 텍스트 파일 규칙을 따르며 줄 끝에 대한 사양을 포함합니다.
프린터
가장 저렴한 프린터가 아닌 대부분의 프린터는 여전히 CR과 LF를 존중합니다. 실제로 가장 널리 사용되는 페이지 설명 언어 (PCL 및 Postscript)의 기본입니다.
\r\n
Windows에서는 괜찮다는 것을 알고 있지만\n\r
그렇지 않다. 나는\r\n
등록 간호사의 약어 이기 때문에 그것을 기억한다 . 또한\n
사람들이 Linux에서\r
사용하는 것과 같은 목적으로 단독으로 사용되지 않는다고 들었습니다\r\n
.\r
정말 오래된 MacOS에서 사용됩니다. 그래도 이러한 사실을 확인하지 않았습니다.