Daylogs/Unix
CR, LF, CR LF 의 히스토리
ohgyun
2015. 1. 18. 01:24
발생일: 2015.01.02
키워드: CR, LF, CRLF
문제:
줄바꿈 문자열에 대해선 대충 아래 정도만 알고 있었다.
윈도우는 캐리지리턴(CRLF, \r\n), 유닉스/리눅스에선 리턴(LF, \n).
git 에서 어떤 라이브러리를 체크아웃 받았더니 자꾸 라인피드가 충돌난다는 워닝이 뜨더라.
이거 원인을 찾아보다가 우연히 줄바꿈 문자열에 대한 히스토리를 찾아보게 됐다.
해결책:
CR = Carriage Return
LF = Line Feed
CR 과 LF 는 줄바꿈을 의미하는 컨트롤 캐릭터이고, 각각 0x0D (13 decimal), 0x0A (10 decimal)를 가리킨다.
윈도우는 CR LF 를, 유닉스는 LF를, 맥의 초기 버전(9 버전 이하)은 CR을 사용한다.
이 두 키는 오래 전 타자기 시절부터 있었던 건데,
LF는 커서의 위치는 그대로 두고 종이를 한 라인 위로 올리는 동작을,
CR는 현재 라인에서 커서의 위치를 맨 앞으로 옮기는 동작을 의미했다고 한다.
CR + LF 는 두 동작을 합해서, 커서를 다음 라인의 맨 앞으로 옮겨주는 것이었다.
이후, 메모리 절약을 위해 OS 디자이너들이 문자열을 줄이면서 차이가 생겼다고 한다.
참고:
반응형