ANSI Escape Code
ANSI escape 코드의 Bracketed 패턴은 ANSI escape 코드 체계의 일부로, 텍스트 단말기에서 화면에 다양한 효과(색상, 스타일, 커서 제어 등)를 나타내기 위해 사용됩니다. 이 중 특히 Bracketed 패턴은 특정 컨트롤 시퀀스에서 대괄호([
; ASCII 값 91)를 사용하여 명령을 구분합니다.
기본 구조
ANSI escape 코드는 다음과 같은 구조를 가집니다:
ESC
(ASCII 27): Escape 문자,\x1B
또는\033
으로 표현.[
: Bracket 시작.<명령 코드>
: 숫자와 세미콜론(;
)으로 이루어진 하나 이상의 값.m
: 명령 끝을 나타내는 제어 문자.
Bracketed 패턴의 주요 역할
-
텍스트 속성 변경
m
코드와 함께 텍스트의 색상이나 스타일을 변경합니다.- 예시:
ESC[31m
→ 빨간색 텍스트.ESC[1;34m
→ 굵은 파란색 텍스트.
-
커서 제어
- 커서를 이동하거나 위치를 지정할 때 사용합니다.
- 예시:
ESC[5C
→ 커서를 오른쪽으로 5칸 이동.ESC[10;20H
→ 커서를 10행, 20열로 이동.
-
화면 제어
- 화면을 지우거나 줄을 삭제하는 데 사용.
- 예시:
ESC[2J
→ 화면 전체 지우기.ESC[K
→ 현재 줄의 끝까지 지우기.
예제
-
색상 변경
\033[31m
: 빨간색 텍스트.\033[0m
: 기본 텍스트 스타일로 리셋.
-
커서 이동
- 커서를 10행, 10열로 이동하고 “Hello”를 출력.
-
화면 지우기
- 화면 전체를 지웁니다.
Bracketed Insert Mode (브래킷 삽입 모드)
특수한 경우로, 터미널에서 입력 모드와 관련된 기능입니다.
- 활성화:
ESC[?2004h
- 비활성화:
ESC[?2004l
이 모드가 활성화되면, 입력된 텍스트 앞뒤에 ESC[200~
와 ESC[201~
가 추가됩니다. 주로 프로그램이나 텍스트 편집기가 특정 모드에서 동작하도록 지원합니다.
참고
- ANSI escape 코드는 일반적으로 터미널이나 텍스트 기반 출력에서 사용되며, 그래픽 기반 UI 환경에서는 잘 사용되지 않습니다.
- 모든 터미널이 ANSI escape 코드를 지원하지 않으니, 호환성을 확인해야 합니다.