제목:

ANSI 제어 문자 (글자 효과)

날짜: Posted on

파이썬에서 콘솔 글자색 및 효과 지정하기 (리눅스) 포스트에서 내용을 보충하여 글자 효과를 주는 ANSI 제어 문자를 포스팅합니다.

아래 표에서 ‘Esc‘표시는 해당 위치에 ESC 제어 문자(ASCII 27, 0x1B)가 들어감을 의미합니다.

제어문자 효과
Esc[0m 모든 효과 제거
Esc[1m 강조하기
Esc[2m 사용불가 텍스트
Esc[3m 이탤릭체
Esc[4m 밑줄
Esc[5m 깜빡임
Esc[6m 깜빡임
Esc[7m 역상
Esc[8m 숨기기
Esc[9m 취소선

위의 표에서 굵은 글씨로 표시한 3가지는 ANSI를 지원하는 거의 모든 콘솔에서 지원합니다. 강조하기의 경우 보통은 해당 글자색의 밝기를 밝게 하는 것으로 표시됩니다.

색을 바꾸는 코드들은 다음과 같습니다.

제어문자 효과
Esc[30m 검은색 글씨
Esc[31m 빨간색 글씨
Esc[32m 초록색 글씨
Esc[33m 노란색 글씨
Esc[34m 파란색 글씨
Esc[35m 보라색 글씨
Esc[36m 청록색 글씨
Esc[37m 하얀색 글씨
Esc[38;2;r;g;bm RGB로 지정
Esc[38;5;nm 색 번호로 지정
Esc[39m 글씨 색 초기화

38번의 경우 38;2는 R, G, B 값을 직접 지정할 수 있는데 최소 0에서 최대 255로 지정할 수 있습니다. 예를 들어 Esc[38;2;0;0;255의 경우 파란색이 됩니다. 그리고 38;5는 0부터 255까지의 범위 중 지정할 수 있는데 0부터 15번까지는 기본 16색, 16번부터 231번까지는 216색의 컬러, 232번부터 255번까지는 명도가 다른 그레이스케일입니다. 이 색은 콘솔 환경에 따라 다소간의 차이가 있을 수 있습니다.

40번대는 글자색 대신 배경색이 바뀐다는 점을 제외하면 30번대와 같습니다. 즉, Esc[44m의 경우 글자가 파란 배경이 됩니다.

90번대와 100번대는 각각 30번대와 40번대의 밝은 버전이라고 하는데 콘솔 환경에 따라 지원할 수도, 지원하지 않을 수도 있습니다.

또한, 색상 코드는 묶어서 쓰는 것이 가능합니다. 예를 들어, Esc[1mEsc[37mEsc[44m 이렇게 쓰면 파란 바탕에 밝은 흰색이 되는데, 이를 Esc[1;37;44m와 같이 묶어서 써도 같은 효과를 얻을 수 있습니다.

답글 남기기

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