출처: http://mwultong.blogspot.com/2006/07/cr-lf.html
다음줄로 행갈이를 할 때 사용하는 특수 문자입니다. 눈에는 보이지 않습니다.
Line Feed (LF) - 아스키 코드: 16진수로 0A |
Carriage Return (CR) - 아스키 코드: 16진수로 0D |
프린터나 타자기에서 사용되던 개념인데, 컴퓨터의 텍스트 파일에서도 사용되고 있습니다.
'커서를 아래로 내리는 동작'과 '커서의 행의 맨 앞으로 보내는 동작'을 합치면,
다음 줄로 행갈이가 됩니다. 메모장 등에서, 엔터키를 치면 다음 줄로 내려갑니다.
이때 각 줄의 끝에 바로 이 행갈이 문자가 자동으로 붙습니다.
MS사의, 도스(DOS)/윈도우용 텍스트 파일은 위와 같이, CR/LF 가 합쳐진 0D 0A 코드로 행갈이가
됩니다. 유닉스나 리눅스에서는 간단히 0A 만으로 행갈이가 되어 더 합리적입니다.
컴퓨터 텍스트 파일에서의 행갈이는, 프린터나 타자기와 달라서, 단순하기 때문에 CR/LF 를 동시에
사용할 필요는 없습니다. 그렇지만 MS에서는 굳이 그런 방식을 사용하는군요.
이 아스키 코드표는 10진수로 되어 있기에 LF는 그림의 10번, CR은 그림의 13번입니다.
둘 다 보이지 않는 특수 문자입니다.
도스/윈도우 텍스트 파일에서는 그림의, 13번+10번 문자 2개가 붙어서, 즉 CR+LF로, 하나의 행갈이를
표현합니다. ( 도스/윈도우 파일에서의 행갈이 문자는 16진수로 0D 0A 입니다. )
유닉스/리눅스 텍스트에서는, 그림의 10번 문자 하나로, 즉 LF로, 하나의 행갈이를 표현합니다.
( 리눅스/유닉스 텍스트 파일에서의 행갈이 문자는 16진수로 0A 입니다. )
MAC(맥) 텍스트에서는, 그림의 13번 문자 하나로, 즉 CR로, 하나의 행갈이를 표현합니다.
( MAC(애플의 매킨토시) 텍스트의 행갈이 문자는 16진수로 0D 입니다. )
※ 즉, 리눅스/유닉스 텍스트 파일에서의 행갈이 문자는 1바이트이고, 도스/윈도우의 행갈이 문자는
2바이트이기 때문에, 리눅스/유닉스 텍스트 파일의 크기가 더 작고 효율적입니다. 그러나 윈도우의
메모장에서는 0D 0A 로 행갈이하지 않는 텍스트 파일은 잘 읽을 수가 없습니다. 이때는 울트라에디트
같은 전문적인 에디터로 문서를 읽어야 합니다.
참고로, 행갈이 문자는 눈에 보이지 않습니다. 헥사 에디터나 헥사 뷰어로 보아야만 보입니다.
울트라에디터에서 Ctrl+H 키를 누르면 헥사 모드가 되는데, 여기서 행갈이 문자를 16진수로 볼 수 있지만,
울트라에디터는 기본적으로 모든 종류의 텍스트 파일을 항상 도스 텍스트로 임시로 변환하여 편집하기에
정확히 보이지는 않습니다. 본격적인 헥사 에디터가 필요합니다.
'IT_etc > 유용한 전산 지식들..' 카테고리의 다른 글
[펌] UTF-8 저장 시 BOM로 인해 발생되는 문제 해결 방법 (0) | 2010.04.09 |
---|---|
Office 2007 파워포인트, 엑셀 따로 띄우기 (0) | 2010.03.16 |
[펌] XP Service Pack 3 internet Explorer 정식 아이콘 복원하기 (0) | 2009.05.20 |
[펌] 왜 Apache HTTP Server와 Tomcat을 연동하는가? (0) | 2009.04.12 |
바이트 오더 (Byte Order) (0) | 2009.03.05 |