ANSI Escape Code

ANSI escape 코드의 Bracketed 패턴은 ANSI escape 코드 체계의 일부로, 텍스트 단말기에서 화면에 다양한 효과(색상, 스타일, 커서 제어 등)를 나타내기 위해 사용됩니다. 이 중 특히 Bracketed 패턴은 특정 컨트롤 시퀀스에서 대괄호([; ASCII 값 91)를 사용하여 명령을 구분합니다.

기본 구조

ANSI escape 코드는 다음과 같은 구조를 가집니다:

php
ESC [ <명령 코드> m
  • ESC (ASCII 27): Escape 문자, \x1B 또는 \033으로 표현.
  • [ : Bracket 시작.
  • <명령 코드>: 숫자와 세미콜론(;)으로 이루어진 하나 이상의 값.
  • m: 명령 끝을 나타내는 제어 문자.

Bracketed 패턴의 주요 역할

  1. 텍스트 속성 변경

    • m 코드와 함께 텍스트의 색상이나 스타일을 변경합니다.
    • 예시:
      • ESC[31m → 빨간색 텍스트.
      • ESC[1;34m → 굵은 파란색 텍스트.
  2. 커서 제어

    • 커서를 이동하거나 위치를 지정할 때 사용합니다.
    • 예시:
      • ESC[5C → 커서를 오른쪽으로 5칸 이동.
      • ESC[10;20H → 커서를 10행, 20열로 이동.
  3. 화면 제어

    • 화면을 지우거나 줄을 삭제하는 데 사용.
    • 예시:
      • ESC[2J → 화면 전체 지우기.
      • ESC[K → 현재 줄의 끝까지 지우기.

예제

  1. 색상 변경

    bash
    echo -e "\033[31mThis is red text\033[0m"
    • \033[31m: 빨간색 텍스트.
    • \033[0m: 기본 텍스트 스타일로 리셋.
  2. 커서 이동

    bash
    echo -e "\033[10;10HHello"
    • 커서를 10행, 10열로 이동하고 “Hello”를 출력.
  3. 화면 지우기

    bash
    echo -e "\033[2J"
    • 화면 전체를 지웁니다.

Bracketed Insert Mode (브래킷 삽입 모드)

특수한 경우로, 터미널에서 입력 모드와 관련된 기능입니다.

  • 활성화: ESC[?2004h
  • 비활성화: ESC[?2004l

이 모드가 활성화되면, 입력된 텍스트 앞뒤에 ESC[200~ESC[201~가 추가됩니다. 주로 프로그램이나 텍스트 편집기가 특정 모드에서 동작하도록 지원합니다.


참고

  • ANSI escape 코드는 일반적으로 터미널이나 텍스트 기반 출력에서 사용되며, 그래픽 기반 UI 환경에서는 잘 사용되지 않습니다.
  • 모든 터미널이 ANSI escape 코드를 지원하지 않으니, 호환성을 확인해야 합니다.

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다