원래 \n 의 의미는 New Line으로 커서를 한줄 내린다는 의미 입니다.
\r 의 의미는 Return Caret 으로 커서를 앞으로 당기는 의미입니다.
\r, \n문자는 각각의 영어의 알파벳을 가져와서 쓰는 것입니다.
이 두개 '\r', '\n'의 유래는 옛날 타자기(typewriter)에서 유래된 것으로
타자기로 열심히 작업을 하다가 종이를 죽~ 처음으로 밀고 한줄 내리는 것을 보앗을 것입니다.
가끔 옛날 영화에 보면 나오죠 ㅎ
일반 적으로 Linux, Unix 계열에서는 \n 문자만 쓰더라도 '\r', '\n' 같이 사용한 효과를 냅니다.
하지만 윈도우는 '\r' '\n' 둘이 연속으로 있어야만, 개행이 일어 납니다.
그래서 윈도우 메모장으로 보실때는 '\r' '\n' 둘다 적힌 파일이 올바르게 열리는 것입니다.
이럴때는 워드패드, 아래한글 등에서 문서를 열어보시면 올바르게 나오는데, 그 것은 프로그램이
자체에서 '\n'을 '\r' '\n'으로 인식하게 변형해주기 때문입니다.
한가지 정보를 드리자면, FTP로 파일을 받거나 올리실때 '아스키 모드'와 '바이너리 모드'가 있습니다.
왜 이렇게 구분을 하냐하면, '아스키 모드' 일 때는 다운로드 하는 운영체제의 종류에 따라
'\n'만 들어 있으면 '\r' '\n'으로 바꿔 주거나, '\r' '\n'을 '\n'으로 바꿔주는 역활을 수행합니다.
'바이너리 모드'는 그냥 보내는 것이구요.
그래서 바이너리(실행파일 같은것)을 '아스키 모드'로 전송하시면, 실행이 안될때가 많습니다.
실행파일 내부에 '\n' 혹은 '\r' 코드가 있어서 변환이 되기 때문이죠.
즐거운 코딩 되셔요 ^^
'컴퓨터관련' 카테고리의 다른 글
웹페이지 정보 추출하기...펌 (0) | 2011.03.13 |
---|---|
php error_reporting()...펌 (0) | 2011.03.09 |
php csv로 저장하는 법...펌 (0) | 2011.03.08 |
php 엑셀로 저장...펌 (0) | 2011.03.08 |
php 배열조작함수 list, each, foreach key, val ...펌 (0) | 2011.03.07 |