1. 程式人生 > >MFC中的_T巨集

MFC中的_T巨集

Windows使用兩種字符集ANSIUNICODE,

前者就是通常使用的單位元組方式,但這種方式處理象中文這樣的雙位元組字元不方便,容易出現半個漢字的情況。

而後者是雙位元組方式,方便處理雙位元組字元。

Windows NT的所有與字元有關的函式都提供兩種方式的版本,而Windows 9x只支援ANSI方式。_T一般同字常數相關,如_T("Hello")。如果你編譯一個程式為ANSI方式,_T實際不起任何作用。

而如果編譯一個程式為UNICODE方式,則編譯器會把"Hello"字串以UNICODE方式儲存。

_T()_L()的區別在於,_L不管你是以什麼方式編譯,一律以以 UNICODE

方式儲存。

Visual C++裡邊定義字串的時候,用_T來保證相容性,VC支援asciiunicode兩種字元型別,用_T可以保證從ascii編碼型別轉換到unicode編碼型別的時候,程式不需要修改。

如果將來你不打算升級到unicode,那麼也不需要_T

unicode,第個字元使用2個位元組,包含了世界上幾乎所有語言,每種語言的每一個字元在unicode裡的值都是惟一的。

ASCII 碼使用指定的 7 位或 8 位二進位制數組合來表示 128 256 種可能的字元。標準 ASCII 碼也叫基礎ASCII碼,使用 7 位二進位制數來表示所有的大寫和小寫字母,數字 0

9、標點符號, 以及在美式英語中使用的特殊控制字元。不能適用於多語言平臺。