본문 바로가기
IT

메모장의 CRLF 에 담긴 의미 / CRLF, LF 의 표기 방식

by 무브영/movewoo0 2024. 9. 10.
728x90
반응형

안녕하세요. 이번 글에서는 메모장을 사용하다가 보게된 CRLF, LF 에 대해서 알아본 내용들을 다룹니다. 

 


 

1. 메모장에서 볼 수 있는 CRLF, LF??

 

메모장을 사용하다보면 위와 같이 메모장 창의 오른쪽 하단에서 볼 수 있는 것들이 있습니다. 

보통은 윈도우만 사용하시기에 'Windows (CRLF)" 라는 문구를 확인할 수 있는데요.

최근에 작업간 리눅스 환경에서 파일을 윈도우로 옮겨와서 메모장으로 봤을 때, 다르게 표기 되는 걸 볼 수 있었습니다. 

두가지로 나뉘는 걸 볼 수 있는데요.

Windows (CRLF)
Unix (LF)

 

위의 두가지로 나뉩니다. 그럼 이게 대체 무슨 의미가 있고 어떻게 다를까요??

 

 


 

2. CRLF의 유래

CRLF의 약자 뜻을 풀어보자면 아래와 같습니다. 

CR : Carriage return
LF : Line Feed

 

이 것이 어디서 유래됬느냐 하면 바로 타자기 입니다.

 

IT 업계에서는 생각보다 그 약자나 의미들이 오래전에 쓰던 장비나 기기에서 유래되는 경우가 많은데 CRLF도 이 경우에 해당합니다. 

CR(Carriage Return)은 타자기를 사용할 때 종이를 밀어서 끝으로 이동시킬 때의 행위를 의미한다고 합니다. 

그리고 LF(Line Feed)는 이렇게 종이를 왼쪽으로 밀었을 때, 한 줄이 위로 올라가면서 줄바꿈이 일어나는데 이 것을 의미합니다. 

 


 

3. 윈도우와 리눅스에서의 CRLF의 의미

위에서 본 이 Windows (CRLF), Unix (LF) 의  차이는 결론적으로 OS가 어떻게 개행/줄바꿈을 표현하느냐의 차이입니다. 

CR의 경우는 문자로 \r 로 표현, LF의 경우는 문자로 \n 으로 표현하게되는데
윈도우는 CR, LF 이 두가지를 합쳐서 개행을 표현하여 개행이 \r\n 으로 표현되고

리눅스는 LF만 사용하여 \n 만으로 개행을 표현한다고 볼 수 있습니다. 

 

이 것이 어떤 곳에서 차이를 일으킬 수 있느냐를 본다면 아래의 상황을 가정해볼 수 있습니다. 

 

특정 스크립트를 Window 에서 작성하고 Linux/Unix 환경에서 복사/붙여넣기를 실행할 경우, 또는 반대의 경우

 

위의 경우에서는 개행문자를 받아들이는 차이가 있기 때문에 각 운영체제가 동이랗게 인식하지 못할 것입니다. 

최근에는 이러한 호환문제를 OS 또는 프로그램이 알아서 해결해주는 경우가 많지만 그 의미를 이해하면 관련된 에러가 발생했을 때 바로 해결이 가능할 것으로 예상됩니다. 

 

 


 


 


 

본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.

인용 시 출처와 같이 공개해주세요!

도움이 되셨다면 댓글 또는 공감 부탁드립니다!

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글