확장비트열(escape sequence)
아스키 문자 집합의 27번째 문자인 확장 문자(ESC)로 시작되는 비트열. ESC와 1개 또는 2개 이상의 문자의 집합으로 이루어지는 확장 비트열은 인쇄기와 같은 주변 장치와 프로그램에 대해서 어떤 명령을 수행하도록 하는 제어 문자로 사용된다. 확장 비트열은 특히 인쇄기에 대해서 강조 활자(굵은 활자)로 인쇄하게 하는 등 다양한 명령을 내리는 데 사용된다.
이스케이프 시퀀스(escape sequence)는 컴퓨터와 주변 기기의 상태를 바꾸는 데에 쓰이는 일련의 문자열이다. 제어 시퀀스(control sequence)라고도 한다. 일부 제어 시퀀스는 늘 같은 의미를 지니고 있는 특수 문자이다. 이스케이프 시퀀스는 이스케이프 문자를 이용하여 이를 따르는 문자들의 뜻을 바꿀 수 있는데, 여기서 문자들은 데이터가 아닌 실행 명령어로 해석할 수 있다.
키보드의 "엔터키"에 해당하는 "Escape 문자"는, \n 입니다. 즉, "백슬래쉬+소문자n" 입니다. 각종 프로그래밍 언어에서나, 편집기 등에서 \n 을 엔터키 대신에 사용할 수 있습니다.
그런데 \n 이것은 원래 유닉스(Unix)나 리눅스(Linux)에서의 엔터 키입니다. 윈도우나 도스(MS-DOS)에서는 엔터키를 "\r\n" 이렇게 표현해 주어야 하는데, 프로그램이 자동으로 \n 을 \r\n (소문자 R + 소문자 N)으로 변환해 주기 때문에, 윈도우에서도 대부분 \n 을 사용하면 됩니다.
Perl이나 C언어에서, Enter키의 Escape 문자 사용 예제:
▶▶ C언어 Perl 자바] 줄바꿈/개행문자/행갈이문자/Newline: \n 이란?
자바 프로그래밍에서는 엔터키를 %n 이렇게 표현하는 것이 좋습니다:
▶▶ 자바/Java] System.out.format() 줄바꿈, 운영체제(OS) 종류에 맞게; line separator
☞ C/C++ (VC++)
출처 - http://mwultong.blogspot.com/2007/08/enter-escape-sequence.html
문자 출력의 특별한 경우가 있다. printf() 함수에서 개행문자(‘\n’)을 사용해 왔다. 개행문자는 사용하면 어떻게 되는가? 엔터키를 입력되어 한줄 내려간다. 이는 개행문자에서 \(또는 \)는 아스키 코드의 본래 의미에서 벗어나 다른 의미를 가진다. 이러한 문자들을 확장 문자 (escape sequence) 라 한다. escape sequence는 하나의 문자상수로 취급하며 반드시 \(\)와 함께 작은 따옴표로 묶어서 하나의 문자로 표시해야 한다.
다음 소스를 보자.
★ 소스
int main()
{
char A;
A='\\'; // escape sequence
printf("%d\n", A);
return 0;
}
★ 소스 설명
\\가 두번 사용되어졌다. 하나만 사용하면 에러가 날 것이다. 컴파일러에서 \뒤에 있는 것은 해석하지 않도록 만들었다.
하나만 사용하면 A=’; 이렇게 인식을 한다는 것이다. 따라서 개행문자도 \n을 사용하므로서 뒤에 n을 문자로 인식하지 않는다(인식하지 않고 두바이트가 합해져서 개행을 의미하는 확장문자이다). escape sequence의 종류에 대해 알아보자.
escape sequence |
Represents |
의미 |
\0 |
NULL |
공백 문자 |
\a |
Bell (alert) |
경보 문자 |
\b |
Backspace |
백스페이스 |
\f |
Formfeed |
새 페이지로 |
\n |
New line |
다음 줄로 |
\r |
Carriage return |
현재 행의 처음으로 |
\t |
Horizontal tab |
수평 탭 문자 |
\v |
Vertical tab |
수직 탭 문자 |
\' |
Single quotation mark |
작은 따옴표 |
\ " |
Double quotation mark |
큰 따옴표 |
\\ |
Backslash |
백슬래쉬 |
\? |
Literal question mark |
물음표 |
\ ooo |
ASCII character in octal notation |
아스키 문자의 8진수 표기 |
\xhh |
ASCII character in hexadecimal notation |
아스키 문자의 16진수 표기 |
출처 - http://air802.tistory.com/73
'Development > Common' 카테고리의 다른 글
Freemarker (0) | 2012.02.26 |
---|---|
1세대/2세대/3세대/4세대/5세대 언어 (0) | 2012.02.24 |
엔터의 의미, CR LF (0) | 2012.02.18 |
참조 구현(Reference Implementation) (0) | 2012.02.09 |
스크립트 언어(Script Language) (0) | 2012.02.05 |