터미널 제어 문자는 컴퓨터 터미널 화면의 커서 위치 및 색상 등을 제어하는 용도로 사용되는 특수한 문자들로 이에 대한 표준은 ANSI escape code이다.
1970년대 최초로 이러한 터미널 제어기능을 지원하는 VT100이라는 터미널 에뮬레이터가 등장하였고, 이후에 나온 터미널들도 VT100과 호환성을 가질 수 있도록 기존 제어 문자에 확장된 기능을 추가하여 ANSI escape code가 ANSI 표준으로 제정되게 되었다.
사용 예시
print("\033[31;43mHello, World!\033[0m\r\n")
여기서 \033 은 터미널 제어를 위한 ANSI 이스케이프 시퀀스(컨트롤 문자인 ESC(escape)의 ASCII 코드값)로 "\033" 뒤에 명령인수가 온다.
[31m은 텍스트를 빨간색으로 지정하고,
[43m은 배경색을 노란색으로 설정한다.
;는 구분자이고 [0m으로 텍스트 스타일을 초기화한다.
참고로 시리얼 모니터에서 Clear Screen을 했을 때 입력되는 터미널 제어 문자는 아래와 같다.
\033[2J
[2J는 Clear Screen을 의미하는 컨트롤 코드로서, 현재 터미널 화면의 내용을 모두 지우고 커서를 화면의 맨 처음(좌측 상단)으로 이동시킨다.
참고글
http://matthieu.benoit.free.fr/68hc11/vt100.htm
http://domoticx.com/terminal-codes-ansivt100/
https://en.wikipedia.org/wiki/ANSI_escape_code
'임베디드 개발 > 펌웨어' 카테고리의 다른 글
MDIO(Management Data Input/Output) (0) | 2023.03.12 |
---|---|
UML State Machine (0) | 2023.02.27 |
CAN FD 프로토콜 (0) | 2023.02.20 |
YMODEM, XMODEM 프로토콜 (0) | 2023.02.15 |
데이터 무결성 검사, 체크섬과 CRC (0) | 2023.02.11 |