成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

在終端中輸出彩色文字

dreambei / 1491人閱讀

摘要:開(kāi)發(fā)工作中經(jīng)常見(jiàn)到終端中各種命令輸出的彩色文字,例如命令就以不同顏色表示文件的不同類(lèi)型。文本中出現(xiàn)這個(gè)轉(zhuǎn)義字符,代表其后方的字符是編碼。

見(jiàn)字如晤。

開(kāi)發(fā)工作中經(jīng)常見(jiàn)到終端中各種命令輸出的彩色文字,例如 ls 命令就以不同顏色表示文件的不同類(lèi)型。

而在我們自己寫(xiě)的程序輸出的信息卻是默認(rèn)的黑色,本文將為你介紹終端輸出帶顏色的文字的原理,讓我們開(kāi)發(fā)的程序輸出的控制臺(tái)信息有更強(qiáng)的可讀性!

ANSI Escape code

終端用于文本字符的輸入和輸出,ASCII編碼中有些字符是不能用來(lái)打印顯示的,比如"a" 0x7代表響鈴," " 0x0A 代表?yè)Q行,這些字符被稱(chēng)為控制符。

今天我們認(rèn)識(shí)一個(gè)新的控制符 "e" 0x1B,這個(gè)字符代表 ESC ,即鍵盤(pán)上 ESC 按鍵的作用。ESC 是單詞 escape 的縮寫(xiě),即逃逸的意思。文本中出現(xiàn)這個(gè)轉(zhuǎn)義字符,代表其后方的字符是ANSI Escape code編碼。

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

e 代表開(kāi)始ANSI Escape code

[ 代表轉(zhuǎn)義序列開(kāi)始符 CSI,Control Sequence Introducer

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

m 代表結(jié)束控制符序列

運(yùn)行命令:

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

將顯示藍(lán)色背景,白色文字,加粗帶下劃線(xiàn)的 MCC。-e 參數(shù)用于啟用 echo 命令控制符轉(zhuǎn)碼,結(jié)尾的 e[0m 代表重置文本樣式:

e 代表開(kāi)始ANSI Escape code

[ 代表轉(zhuǎn)義序列開(kāi)始符 CSI,Control Sequence Introducer

0 代表重置文本樣式

m 代表結(jié)束控制符序列

因?yàn)?e 控制符的16進(jìn)制碼為 0x1B , 8 進(jìn)制碼為 033 ,所以以下表示方式等價(jià):

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

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

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