MFC中的_T巨集
阿新 • • 發佈:2019-02-07
Windows使用兩種字符集ANSI和UNICODE,
前者就是通常使用的單位元組方式,但這種方式處理象中文這樣的雙位元組字元不方便,容易出現半個漢字的情況。
而後者是雙位元組方式,方便處理雙位元組字元。
Windows NT的所有與字元有關的函式都提供兩種方式的版本,而Windows 9x只支援ANSI方式。_T一般同字常數相關,如_T("Hello")。如果你編譯一個程式為ANSI方式,_T實際不起任何作用。
而如果編譯一個程式為UNICODE方式,則編譯器會把"Hello"字串以UNICODE方式儲存。
_T()和_L()的區別在於,_L不管你是以什麼方式編譯,一律以以 UNICODE
Visual C++裡邊定義字串的時候,用_T來保證相容性,VC支援ascii和unicode兩種字元型別,用_T可以保證從ascii編碼型別轉換到unicode編碼型別的時候,程式不需要修改。
如果將來你不打算升級到unicode,那麼也不需要_T,
unicode,第個字元使用2個位元組,包含了世界上幾乎所有語言,每種語言的每一個字元在unicode裡的值都是惟一的。
ASCII 碼使用指定的 7 位或 8 位二進位制數組合來表示 128 或 256 種可能的字元。標準 ASCII 碼也叫基礎ASCII碼,使用 7 位二進位制數來表示所有的大寫和小寫字母,數字 0 到