国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在終端中輸出彩色文字

dreambei / 1484人閱讀

摘要:開發工作中經常見到終端中各種命令輸出的彩色文字,例如命令就以不同顏色表示文件的不同類型。文本中出現這個轉義字符,代表其后方的字符是編碼。

見字如晤。

開發工作中經常見到終端中各種命令輸出的彩色文字,例如 ls 命令就以不同顏色表示文件的不同類型。

而在我們自己寫的程序輸出的信息卻是默認的黑色,本文將為你介紹終端輸出帶顏色的文字的原理,讓我們開發的程序輸出的控制臺信息有更強的可讀性!

ANSI Escape code

終端用于文本字符的輸入和輸出,ASCII編碼中有些字符是不能用來打印顯示的,比如"a" 0x7代表響鈴," " 0x0A 代表換行,這些字符被稱為控制符。

今天我們認識一個新的控制符 "e" 0x1B,這個字符代表 ESC ,即鍵盤上 ESC 按鍵的作用。ESC 是單詞 escape 的縮寫,即逃逸的意思。文本中出現這個轉義字符,代表其后方的字符是ANSI Escape code編碼。

ANSI Escape code編碼中有專門控制字符顏色的控制符,例如:e[37;44;4;1m

e 代表開始ANSI Escape code

[ 代表轉義序列開始符 CSI,Control Sequence Introducer

37;44;4;1 代表以; 分隔的文本樣式控制符,其中 37 代表文本前景色為白色,44代表背景為藍色,4代表下劃線,1代表加粗

m 代表結束控制符序列

運行命令:

echo -e "e[37;44;4;1mMCCe[0m"

將顯示藍色背景,白色文字,加粗帶下劃線的 MCC。-e 參數用于啟用 echo 命令控制符轉碼,結尾的 e[0m 代表重置文本樣式:

e 代表開始ANSI Escape code

[ 代表轉義序列開始符 CSI,Control Sequence Introducer

0 代表重置文本樣式

m 代表結束控制符序列

因為 e 控制符的16進制碼為 0x1B , 8 進制碼為 033 ,所以以下表示方式等價:

e[37;44;4;1mMCCe[0m

x1b[37;44;4;1mMCCx1b[0m

x1B[37;44;4;1mMCCx1B[0m