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、標點符號, 以及在美式英語中使用的特殊控制字符。不能適用於多語言平臺。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章