-
Carriage-return New-Line (aka linefeed)
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.'\r'의 값은 0x0D
'\n'의 값은 0x0A"\n" (newline) = 0x0D 0x0A and "\r" (carriage return) = 0x0D.
MS-DOS 환경에서 printf("\n")는 일반적으로 CR+LF를 출력한다. stdout(printf()가 쓰는 스트림)은 "호스트 환경에서 텍스트에 대한 다른 표현을 따르도록" 수정되는 텍스트 스트림을 허용한다.
window에서는 \r\n carriage return + line feed 합쳐짐.
Windows uses: carriage return + line feed.
UNIX uses: line feed.
Macintosh uses: carriage return.1963년에서 1968년 사이에 ISO 초안 표준은 줄 바꿈으로 CR + LF 또는 LF 단독 사용을 지원했지만 ASA 초안은 CR + LF 만 지원했다 .
CR + LF 시퀀스는 Teletype 기계(일반적으로 Teletype Model 33 ASR)를 콘솔 장치로 채택한 많은 초기 컴퓨터 시스템에서 일반적으로 사용되었다 . 이 시퀀스는 새 라인의 시작 부분에 해당 프린터를 배치하는 데 필요했기 때문이다. 줄 바꿈을 두 가지 기능으로 분리하면 인쇄 헤드가 다음 문자를 인쇄하기 위해 시간 내에 맨 오른쪽에서 다음 줄의 시작 부분으로 돌아갈 수 없다는 사실이 숨겨진다. CR 뒤에 인쇄된 모든 문자는 프린트 헤드가 여전히 캐리지를 첫 번째 위치로 다시 이동하는 동안 페이지 중간에 얼룩으로 인쇄되는 경우가 많았다. "해결책은 줄 바꿈을 두 문자로 만드는 것이었다. CR캐리지를 1열로 이동하고 LF를 사용하여 용지를 위로 이동한다. 사실, 무시되지만 프린트 헤드가 왼쪽 여백 많은 초기 비디오 디스플레이도 디스플레이를 스크롤 하는 데 여러 문자 시간이 필요했다.
이러한 시스템에서 응용 프로그램은 이러한 하드웨어 세부 정보를 응용 프로그램에서 숨기는 장치 드라이버 의 개념이 아직 잘 개발되지 않았기 때문에 Teletype 기계와 직접 통신하고 해당 규칙을 따라야 했다 . 따라서 텍스트는 텔레타이프 기계의 요구를 충족시키기 위해 일상적으로 작성되었다. DEC 의 대부분의 미니 컴퓨터 시스템은 이 규칙을 사용했다. CP/M은 또한 미니 컴퓨터가 사용하는 동일한 터미널에서 인쇄하기 위해 이를 사용했다. 거기에서 MS-DOS (1981) 는 호환성을 위해 CP/M 의 CR + LF를 채택했으며 이 규칙은 Microsoft의 후기 Windows 운영 체제에 계승되었다.
Multics 운영 체제는 1964년에 개발을 시작했으며 LF 만 줄 바꿈으로 사용 했다. Multics는 장치 드라이버를 사용하여 이 문자를 프린터에 필요한 모든 시퀀스(추가 패딩 문자 포함)로 변환했으며 단일 바이트가 프로그래밍에 더 편리했다. CR은 볼드체 , 밑줄 및 취소선 효과를 만들기 위해 한 줄을 다른 줄로 중복 인쇄하는 유용한 기능을 제공하므로 더 분명한 선택인 CR 은 사용되지 않았다 . 아마도 더 중요한 것은 줄 종결자로 LF 만을 사용하는 것이 최종 ISO/IEC 646 표준 의 초안에 이미 통합되었다.Unix는 Multics 사례를 따랐고 나중에 Unix와 유사한 시스템이 Unix를 따랐다. 이로 인해 Windows와 Unix 계열 운영 체제 간에 충돌이 발생 하여 한 운영 체제에서 구성된 파일을 다른 운영 체제에서 적절하게 형식화하거나 해석할 수 없었다(Ex: 메모장 같은 Windows 텍스트 편집기로 작성된 UNIX 셸 스크립트).'Os' 카테고리의 다른 글
Windows .cpl 도구 기능 (0) 2023.07.10 Windows .msc 도구 기능 (0) 2023.07.10 윈도우 원격 계정 로그온 거부(막기) (0) 2023.07.07 Windows 11 setting 관련 (1) 2023.04.05 Powershell SSH 접속 기능 (0) 2023.02.23 Linux systemctl (0) 2023.02.19 Linux Apt vs Apt-Get (0) 2023.02.19 Linux SFTP SSH (0) 2023.02.19