새줄 문자: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
잔글편집 요약 없음
잔글편집 요약 없음
1번째 줄:
'''새줄 문자'''(newline)는 [[텍스트]]의 한 줄이 끝남을 표시하는 [[문자]] 또는 [[문자열]]이다. '''개행 문자''', '''줄바꿈 문자'''(line break), '''EOL'''(end-of-line)과 같은 뜻이다. 기종이나 [[운영체제운영 체제]]에 따라 새줄 문자를 나타내는 [[코드]]가 다를 수도 있다. 그래서 텍스트를 다른 [[시스템]]으로 전송할 때 새줄 문자의 치환 작업도 필요하다.
 
새줄 문자가 마지막 줄 끝에도 들어가는지 여부가 헷갈릴 수 있다. 대부분의 시스템이 관습적으로 마지막 줄 끝에도 새줄 문자를 넣는다. [[프로그램]] 중에는 마지막 줄 끝에 새줄 문자가 없으면 [[오류]]가 발생하는 것도 있다.
10번째 줄:
텔레타이프의 [[프린터]]가 다음 줄의 처음부터 [[인쇄]]하기 위해서는 두 글자를 인쇄하는 시간이 필요했다. 텔레타이프는 텍스트의 한 글자를 같은 시간 간격으로만 프린터로 전송할 수 있었다. 프린터에서 좌우로 움직이는 장치가 캐리지(carriage)였는데 이것이 오른쪽 끝에서 왼쪽 끝으로 이동하는 시간이 두 글자 인쇄하는 만큼 걸렸다. 새줄 문자로 코드 하나만 쓸 경우 다른 한 글자를 인쇄할 수 없었다. 그래서 텔레타이프를 쓰던 시절에는 CR+LF 두 코드를 새줄 문자로 썼다. 캐리지 리턴이 먼저 전송되었다. 그리고 종이를 한 줄 옮기는 라인 피드가 이어서 전송되었다. 좌우 여백이 줄어들면 캐리지가 이동하는 시간이 더 필요하므로 CR이나 NUL을 더 채워 넣어야 할 때도 있었다.
 
컴퓨터가 막 탄생하던 시절에는 [[디스크]]와 [[메모리]]가 비쌌기 때문에 1964년에 나온 운영체제운영 체제 [[멀틱스]]는 새줄 문자를 LF 하나로 통일했다. [[유닉스]]도 멀틱스의 새줄 문자 관례를 이어받았고 [[리눅스]]도 이 방식을 쓰고 있다.
 
1981년에 등장한 [[MS-DOS]]는 [[CP/M]]의 CR+LF 방식을 따랐다. CP/M은 [[직렬 통신|시리얼 라인]]으로 터미널을 연결했기 때문에 화면 전환 속도가 느렸다. 느린 [[터미널]]에서 줄바꿈이 있을 때 스크롤 하는 시간과 보조를 맞추기 위해 CR+LF 방식을 쓰는 것이 자연스러웠다. [[마이크로소프트 윈도|윈도]]도 이 관례를 따르고 있다.
 
==표현==
줄바꿈을 표현하는 방법은 시스템과 운영체제에운영 체제에 따라 여러 가지가 있다. [[마이크로소프트 윈도|윈도]]는 ASCII의 CR+LF로 새줄을 나타내고 [[유닉스]]는 LF로 새줄을 나타낸다. [[맥 OS]]은 새줄 문자로 버전 9까지 CR을 썼지만 버전 10부터 LF를 쓰고 있다. 새줄 문자로 이밖의 다른 코드를 사용하는 시스템도 있다. 특정 코드를 사용하지 않고 [[레코드]] 하나에 한 줄씩 저장하거나 줄의 길이를 고정시켜서 줄바꿈을 표현하는 시스템도 있다.
 
===ASCII===
68번째 줄:
 
===기타 코드===
[[CDC 6000]] 시리즈의 운영체제는운영 체제는 60비트짜리 단어 끝 부분에 6비트짜리 글자 2개 이상이 0으로 채워진 상태를 새줄 문자로 정의했다. 채우는 문자로 0 대신 콜론이 되도록 설정을 바꿀 수 있었다. [[싱클레어 리서치]]의 가정용 컴퓨터, ZX80, ZX81은 새줄 문자 코드가 0x76이었다.
 
===레코드 방식===
옛날의 [[메인프레임]] 운영체제는운영 체제는 텍스트 한 줄마다 [[레코드]]에 저장하는 방식이었다. 레코드의 시작 부분에 캐리지 제어 문자를 둬서 줄바꿈 여부, 캐리지 리턴 여부를 조절할 수 있게 했다.
 
몇몇 메인프레임 운영체제는운영 체제는 고정된 줄 길이로 한 줄을 저장했다. 그 길이는 주로 80자였다. 외부에서 [[텍스트]] 파일을 받았을 때 한 줄이 80자보다 짧으면 공백 문자로 채워야 했고 한 줄이 너무 길면 잘려나갔다. 이것은 [[천공 카드]]의 방식을 흉내낸 것이다. 천공 카드 한 장마다 한 줄씩 기록했고 이 길이가 80자였다.
 
[[OpenVMS]]도 레코드 기반 파일 시스템을 사용한다. 텍스트 파일을 저장할 때 레코드마다 한 줄씩 저장한다. 대부분 파일 형식이 줄 구분 문자를 사용하지 않지만 [[레코드 관리 서비스]]가 투명한 새줄 문자를 삽입할 수 있다.
 
== 같이 보기 ==
* [[자동 줄 바꿈]]
 
[[분류:컴퓨터 용어]]