티스토리 뷰

의미없는 잡글

CRLF와 LF

알 수 없는 사용자 2016. 4. 14. 22:07



가끔 메모장으로 파일을 열면 엔터(개행)이 되어야할 부분이 이상한 특수문자로 되어있는 경우가 있다. 이때는 그냥 복사해서 다른 에디터로 붙혀넣기하거나 아니면 처음부터 다른 텍스트 에디터를 쓰면 해결되는 문제인데 왜 이런 특수문자가 메모장에서만 생길까?


이는 윈도우와 맥 그리고 리눅스의 개행방식의 차이 때문에 생기는 문제인데 줄을 개행하는 것도 하나의 문자로 이 문자를 개행 문자,줄바꿈 문자(line break), EOL(end-of-line), 새줄문자(newline)... 등등으로 불리고 있다. 이 개행문자 중 현재 사용되고 있는 건 LF와 CRLF다.



ASCII의 새줄 문자 유닉스, OS X: LF, 윈도우: CRLF출처: 한국어 위키백과

맥과 리눅스에서는 LF를 사용하고 윈도우에서는 CRRF와 LF를 같이 사용하지만 메모장은 LF를 지원하지 않기 때문에 이상한 특수문자로 표시되는 것. 한마디로 윈도우의 기본 텍스트 에디터인 주제에 LF도 제대로 지원하지 못하는 놈이라는 소리다.


가끔 git에 commit할 때 전혀 바뀐게 없는데 바뀌었다고 나대는 경우 100% 이 개행문자가 바뀌어서 생기는 변경사항이다. 이는 .gitattributes나 설정을 통해서 CRLF를 LF로 변환하게 하는 등 해결할 수 있는 방법이 있으니 거슬린다면 찾아보던가 말던가



ps. 특정 텍스트에디터에는 이 개행문자를 변경할 수 있는 기능이 존재한다. Atom Editor라던가.. 그런 거.. 물론 메모장은 안된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함