굵은 글씨로 문서화된 문자 이스케이프 시퀀스 "\033[\061m"은 어디에 있습니까?

굵은 글씨로 문서화된 문자 이스케이프 시퀀스 "\033[\061m"은 어디에 있습니까?

나는 gcc와 같은 콘솔 프로그램을 실행하고 그 출력을 컬러로 표시하는 프로그램을 작성하려고 합니다. 나는 사용했다openptypipe캐릭터 장치인 척하는 대신 이제ANSI 이스케이프 코드색상 정보를 전달합니다. 나는 몇 가지 프로그램을 사용해 보았고 때로는 코드를 제공했습니다 CSI [ 49 m. 둘 다위키피디아그리고xterm 이스케이프 코드 문서(검색 ) 기본 배경색을 사용해야 한다는 뜻의 Ps = 4 9코드에 동의합니다 .CSI [ 49 m

그러나 데비안의 xterm과 zsh 및 우분투의 Linux 콘솔은 동의하지 않습니다.
printf '\033[\061mTest\n\033[\060m'xterm과 같은 콘솔에서 실행하면 기본 배경색으로 "Test"가 인쇄되어야 합니다( \033이스케이프되어 escape + [CSI(Control Sequence Introducer)를 생성하고 \0618진수임)십진수 49), 그러나 실제로는 "시험"를 굵게 표시합니다( \061마지막 것은 "더 이상 굵게 표시되지 않음"을 의미하는 것 같지만 Wikipedia나 xterm 색상 코드 문서에는 문서화되어 있지 않습니다). 위에 언급된 모든 콘솔은 이에 동의합니다.

가지다다양한 콘솔 및 표준에 대한 색상 코드 목록, 그러나 그 중 어느 것도 CSI 49 m"굵게"가 무엇을 의미하는지 나열하지 않습니다.

이 불일치는 어디에서 오는가? xterm, zsh 또는 Linux 콘솔에서 사용되는 색상 코드에 해당하는 색상 코드 목록은 어디에서 찾을 수 있습니까?

답변1

\611는 ASCII 문자의 8진수 코드이므로 \e[\61m또는 \33[\61m또는 \33\133\61\155또는 \33[1m입니다 <ESC>[1m.

그건 CSI 1 m. 바라보다위키피디아또는xterm선적 서류 비치.

$ printf '\e[\61m' | od -An -vto1 -tc
 033 133 061 155
 033   [   1   m
$ tput bold | od -An -vto1 -tc
 033 133 061 155
 033   [   1   m

~을 위한기본 배경색, 필요해요 \e[49m, 필요하지 않아요 \e[\61m. 이들 149숫자는 바이트 값이 아닌 10진수 문자열 표현으로 표현됩니다.

관련 정보