Windows使用两种字符集ANSI和UNICODE,
前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。
而后者是双字节方式,方便处理双字节字符。
Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常数相关,如_T("Hello")。如果你编译一个程序为ANSI方式,_T实际不起任何作用。
而如果编译一个程序为UNICODE方式,则编译器会把"Hello"字符串以UNICODE方式保存。
_T()和_L()的区别在于,_L不管你是以什么方式编译,一律以以 UNICODE方式保存。
本文介绍了Windows系统中ANSI和UNICODE两种字符集的区别与应用。ANSI为单字节编码,在处理双字节字符时易出现问题;UNICODE采用双字节编码,更适合处理包括中文在内的多语言环境。文中还解释了_T()和_L()宏的作用及其在不同编译模式下的行为。
3184

被折叠的 条评论
为什么被折叠?



