본문 바로가기

it지식저장소

cr(carage return)/lf(line feed)

unix 시스템과 windows 시스템의 개행문자는 다르다.

unix에서는 텍스트파일에서 \n이 개행문자이고,

windows에서는 텍스트파일에서 \r\n이 개행문자이다.


Cariage Return이란?

=>행의 첫번째로 이동하는것 (\r)

Line Feed란?

=>다음행으로 이동하는것 (\n)


개행이라는 것은 정확히 Cariage Return + Line Feed로 되어 두번의 액션으로 되는 것이 정상이다.

유닉스는 터미널을 사용하고 터미널 제어코드로써 \n(Line feed)를 사용했다.

제어모드에 따라 단지 lf만 할 것인가 cr까지 할 것인가를 결정할 수 있다.

흔히 Vi 를 터미널에 띄우고 있는데 시스템 메시지로 뭔가가 2줄 이상 쓰여지면, LF만 동작하는 것은 터미널 모드가 vi로 진입하면서 바뀌기 때문이다.

그런데 DOS 혹은 그 이전 CP/M부터 그런 비싼 터미널을 채용하지 않았고, 따라서 LF 의미가 어떤 모드에 따라 달리 작동하는 방식으로 구현되지 않았을 것이다.


*OS에서 개행문자를 통일시키면 편하겠지만 endian처럼 어쩔 수 없는 부분인것 같다.

구지 하나로 합쳐야 한다면 1byte를 절약할 수 있는 unix쪽의 개행문자로 통일하는것이 좋을 것 같다.


*유닉스 방식으로 저장된 텍스트 파일을 엠에스윈도의 노트패드로 저장하는 법

=> 이런 파일은 노트패드 대신 워드패드에서 읽어서 저장하면 엠에스에서 쓰는 방식으로 저장된다.

'it지식저장소' 카테고리의 다른 글

git 튜토리얼사이트  (0) 2016.02.01
[github]깃허브에 현재프로젝트 추가시키기!  (0) 2015.12.02