1. 확장열 (Escape Sequence)
ㅇ 문자열 안에서 특별한 의미를 갖는 문자열
- 일련의 문자열 중에서,
- `화면제어용,장치제어용 문자`가 `정보표현용 문자`와 혼란 없이 함께 있을 수 있도록,
- 제어용 문자를 규칙에 따라 (구분이 가능하게), 확장시키는 문자열
2. 터미널 상의 확장열 例
ㅇ 터미널(문자중심의 입출력 장치를 말함) 例)
- 동작 형태
. ASCII 코드값 27인 이스케이프로 시작하며,
.. (터미널 장치에는 ^esc, ESC, Ctrl-[ 등으로 보임)
. 1 이상의 문자의 집합으로 확장되어 보이는 문자열을 말함
- ESC 문자는, `탈출문자`라 하여,
. ESC 문자 다음에 추가적인 문자가 뒤따른다는 의미임
- ESCAPE 문자와 이후 따르는 추가 비트를 묶어서, `탈출 문자열(escape sequence)`라고 부름
. ISO/IEC 2022에서는 이를 `코드확장(code extension)`이라고도 표현함
3. 프로그래밍 언어 상의 확장열 例
ㅇ 문자열(스트링) 내에 수용될 수 없는 특별한 의미를 갖는 공백문자,따옴표,제어문자 등을
포함시켜야 할 경우에, 역슬래시(\)를 그 앞에 두고 포함 가능
ㅇ 주요 例)
- \' : 작은 따옴표
- \" : 큰 따옴표
- \\ : 백슬래시
- \a : 경보 (Bell) (아스키코드 7)
- \b : 뒤로 한 칸 이동 (Backspace) (아스키코드 8)
- \t : 수평탭 간격 띄우기 (아스키코드 9)
- \n : 줄바꿈 (Linefeed) (아스키코드 10)
- \v : 수직탭 간격 띄우기 (아스키코드 11)
- \f : 프린트 출력 용지를 한 페이지 넘김 (Form feed) (아스키코드 12)
- \r : 동일한 줄의 맨 앞으로 커서 이동 (Carriage Return) (아스키코드 13)
- \r\n : 윈도우즈는, 이 둘을 함께해야 비로소 줄바꿈 (Carriage Return and Linefeed)
- \ddd : 8 진수 ddd (때론, \0ddd)
- \xdd : 16 진수 dd
- \udddd : 16 진수 유니코드 문자 (통상, 4자리 16 진수 dddd)
ㅇ 기타 참고
- 줄바꿈 \n 은, 8 진수로 \012, 16 진수로, \x0a
- 수평탭 \t 은, 8 진수로 \011, 16 진수로, \x09
- \0 : 널 문자 (NULL)
- \xXX : 두 자릿수 16진수 XX로 지정된 라틴(Latin-1) 문자
- \uXXXX : 네 자릿수 16진수 XXXX로 지정된 유니코드(UTF-16) 문자
- \u{XXXXXX} : 16진수 코드 포인트 XXXXXX로 지정된 유니코드(UTF-16) 문자