推薦軟硬體、網站

Google Adsense

aNobii網路書櫃

2008年3月31日 星期一

[C/C++] 彩色控制碼(unix-like)

這篇在WWW上的顯示效果不好@@"(第一行)
第二行代表在BBS上的控制碼,第三行C/C++的彩色控制碼。
=======================================================
亮黃字
*[1;33m
\x1b[1;33m

暗紅字
*[0;31m
\x1b[0;31m

暗白字綠底

*[0;37;42m
\x1b[0;37;42m

閃亮紫字藍底

*[1;5;35;44m
\x1b[1;5;35;44m

還原
*[m
\x1b[m

ANSI│黑 紅 綠 黃 藍 紫 靛 白
前景│30 31 32 33 34 35 36 37
背景│40 41 42 43 44 45 46 47

C/C++的escape sequence
http://www.cppreference.com/escape_sequences.html

[註]:
比較之下可發現兩邊只是差在 * 變成\x1b而已
而\x1b(也可以寫成\33)在C/C++的escqpe sequence
代表的是十六進位的27 (1*16+11*1) (3*8+3*1)
也就是ASCII code的ESC字元

@PTT adrianshum:
BBS 的 * 在這情況下根本就是 escape 而不是 '*'.
只是 ESC 不算 printable character 所以才拿 * 來代替。

彩色控制碼必須在前面配合著ESC字元才能轉換
而控制碼大概可以分成:
開頭:[ 結尾:m 中間部分是分號間隔的數對:X;Y;Z;...

沒有留言:

張貼留言

Powered By Blogger

Google Analytics