이스케이프 시퀀스

정의
이스케이프 시퀀스(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 형식의 유니코드 이스케이프 시퀀스를 정의한다.
  • POSIXANSI X3.64(ECMA-48) 규격에서는 터미널 제어용 이스케이프 시퀀스를 별도로 정의한다(예: \e[31m → 전경 색을 빨간색으로 설정).

사용 맥락

  1. 프로그래밍

    • 문자열 리터럴 내에 개행, 탭, 따옴표 등을 삽입할 때 사용한다.
    • 파일 입출력 시 특정 문자 코드를 명시적으로 표현한다.
  2. 터미널/콘솔

    • ANSI 이스케이프 시퀀스를 이용해 텍스트 색상, 커서 이동, 화면 지우기 등을 제어한다.
  3. 데이터 직렬화

    • JSON, CSV 등 텍스트 기반 포맷에서 특수 문자(예: "·\)를 이스케이프하여 구문 오류를 방지한다.
  4. 네트워크 프로토콜

    • 텔넷, 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 – 유니코드 이스케이프 시퀀스 표기법.

이 문서는 객관적인 정보에 기반하여 작성되었으며, 현재까지 확인된 공신력 있는 자료를 토대로 정리하였다.

둘러보기

더 찾아볼 만한 주제