將彩色文字輸出到Linux 終端機
問題:如何在Linux 終端機中顯示彩色文字支援此功能嗎?
答案:輸出彩色字符,需要使用 ANSI 顏色代碼。然而,值得注意的是,並非所有終端都具備此功能。如果不支援顏色序列,終端將顯示垃圾。
例如:
cout << "3[1;31mbold red text3[0m\n";
在此範例中,33 是轉義字符,ASCII 27。它後面是 [ ,然後是一個或多個由 ; 分隔的數字,最後是字母 m。這些數字指定從該點開始套用的顏色和格式。
顏色代碼:
前景色和背景色的代碼如下:
Foreground | Background |
---|---|
30 | 40 (Black) |
31 | 41 (Red) |
32 | 42 (Green) |
33 | 43 (Yellow) |
34 | 44 (Blue) |
35 | 45 (Magenta) |
36 | 46 (Cyan) |
37 | 47 (White) |
額外程式碼:
此外,您也可以使用以下程式碼:
Code | Description |
---|---|
0 | Reset (everything back to normal) |
1 | Bold/Bright (often a brighter shade of the same colour) |
4 | Underline |
7 | Inverse (swap foreground and background colours) |
21 | Bold/Bright off |
24 | Underline off |
27 | Inverse off |
請參閱維基百科頁面以取得更多受廣泛支援的代碼。
終端支援檢查:
要確定您的終端是否支援顏色序列,請檢查該值TERM 環境變數。它應該指示正在使用的特定終端類型(例如 vt100、gnome-terminal、xterm、screen,...)。隨後,檢查 terminfo 資料庫中的顏色功能。
以上是如何在 Linux 終端機中列印彩色文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!