정의
이스케이프 시퀀스(escape sequence)는 문자 데이터 흐름에서 특수한 의미를 부여하거나 제어 기능을 수행하기 위해 사용되는 문자들의 연속이다. 일반적으로 백슬래시(\)와 특정 문자(예: n, t, uXXXX 등)로 구성되며, 텍스트 파일, 프로그래밍 언어, 터미널, 데이터 통신 프로토콜 등 다양한 환경에서 문자열 내에 눈에 보이지 않는 제어 문자나 유니코드 문자 등을 삽입할 때 활용된다.
역사·배경
컴퓨터 초창기부터 텍스트 기반 입출력 장치가 제한된 제어 기능을 제공했으며, 이러한 제어 코드를 문자 형태로 표현하기 위해 이스케이프 시퀀스 개념이 도입되었다. 특히 C 언어 표준(1978년 ANSI C)에서 \를 이스케이프 문자로 정의하면서 현대 프로그래밍 언어 전반에 표준화된 형태가 확산되었다.
주요 종류
| 구분 | 대표 이스케이프 시퀀스 | 의미 |
|---|---|---|
| 제어 문자 | ` | |
| ` | 줄 바꿈(라인 피드) | |
\r |
캐리지 리턴 | |
\t |
수평 탭 | |
\b |
백스페이스 | |
| 특수 문자 | \\ |
역슬래시 자체 |
\' |
작은 따옴표 | |
\" |
큰 따옴표 | |
| 16진수/유니코드 | \xhh |
2자리 16진수 코드(예: \x41 → 'A') |
\uhhhh |
유니코드 기본 다중 언어 평면(BMP) 문자(예: \u03C0 → 'π') |
|
\Uhhhhhhhh |
8자리 유니코드 문자(보조 평면 포함) | |
| 오디오/비디오 제어 | \e 또는 \x1B |
이스케이프(ESC) 문자, ANSI 터미널 제어 시퀀스 시작 |
표준화
- C 표준(ISO/IEC 9899) 및 C++ 표준(ISO/IEC 14882)에서 이스케이프 시퀀스 문법을 규정한다.
- Unicode 표준에서는
\u·\U형식의 유니코드 이스케이프 시퀀스를 정의한다. - POSIX 및 ANSI X3.64(ECMA-48) 규격에서는 터미널 제어용 이스케이프 시퀀스를 별도로 정의한다(예:
\e[31m→ 전경 색을 빨간색으로 설정).
사용 맥락
-
프로그래밍
- 문자열 리터럴 내에 개행, 탭, 따옴표 등을 삽입할 때 사용한다.
- 파일 입출력 시 특정 문자 코드를 명시적으로 표현한다.
-
터미널/콘솔
- ANSI 이스케이프 시퀀스를 이용해 텍스트 색상, 커서 이동, 화면 지우기 등을 제어한다.
-
데이터 직렬화
- JSON, CSV 등 텍스트 기반 포맷에서 특수 문자(예:
"·\)를 이스케이프하여 구문 오류를 방지한다.
- JSON, CSV 등 텍스트 기반 포맷에서 특수 문자(예:
-
네트워크 프로토콜
- 텔넷, SSH 등 일부 프로토콜에서 제어 코드를 전송하기 위해 이스케이프 시퀀스를 사용한다.
관련 용어
- 이스케이프 문자: 이스케이프 시퀀스의 시작을 나타내는 문자(
\또는ESC(0x1B)). - 제어 문자: 텍스트 흐름을 제어하는 비표시 문자(예: LF, CR, BEL).
- 유니코드 이스케이프: 유니코드 코드 포인트를 문자 형태로 표현하는 방식(
\u,\U).
참고 문헌
- ISO/IEC 9899:1999 (C99) – 문자와 문자열 리터럴.
- Unicode Standard (버전 15.0) – 유니코드 이스케이프 시퀀스 규격.
- ANSI X3.64 (ECMA-48) – 다중 장치 제어 시퀀스.
외부 링크
- 위키백과 “Escape character” (영문) – 이스케이프 문자와 이스케이프 시퀀스 전반에 대한 개요.
- Unicode Consortium – 유니코드 이스케이프 시퀀스 표기법.
이 문서는 객관적인 정보에 기반하여 작성되었으며, 현재까지 확인된 공신력 있는 자료를 토대로 정리하였다.