Windows使用兩種字符集ANSI和UNICODE,
前者就是通常使用的單字節(jié)方式,但這種方式處理象中文這樣的雙字節(jié)字符不方便,容易出現(xiàn)半個(gè)漢字的情況。
而后者是雙字節(jié)方式,方便處理雙字節(jié)字符。
Windows NT的所有與字符有關(guān)的函數(shù)都提供兩種方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常數(shù)相關(guān),如_T("Hello")。如果你編譯一個(gè)程序?yàn)?/span>ANSI方式,_T實(shí)際不起任何作用。
而如果編譯一個(gè)程序?yàn)?/span>UNICODE方式,則編譯器會(huì)把"Hello"字符串以UNICODE方式保存。
_T()和_L()的區(qū)別在于,_L不管你是以什么方式編譯,一律以以 UNICODE方式保存。
Visual C++里邊定義字符串的時(shí)候,用_T來(lái)保證兼容性,VC支持ascii和unicode兩種字符類型,用_T可以保證從ascii編碼類型轉(zhuǎn)換到unicode編碼類型的時(shí)候,程序不需要修改。
如果將來(lái)你不打算升級(jí)到unicode,那么也不需要_T,
unicode,第個(gè)字符使用2個(gè)字節(jié),包含了世界上幾乎所有語(yǔ)言,每種語(yǔ)言的每一個(gè)字符在unicode里的值都是惟一的。
ASCII 碼使用指定的 7 位或 8 位二進(jìn)制數(shù)組合來(lái)表示 128 或 256 種可能的字符。標(biāo)準(zhǔn) ASCII 碼也叫基礎(chǔ)ASCII碼,使用 7 位二進(jìn)制數(shù)來(lái)表示所有的大寫和小寫字母,數(shù)字 0 到 9、標(biāo)點(diǎn)符號(hào), 以及在美式英語(yǔ)中使用的特殊控制字符。不能適用于多語(yǔ)言平臺(tái)。
posted on 2009-07-11 10:28
The_Moment 閱讀(764)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
VC理論