posts - 29,comments - 10,trackbacks - 0
 

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、标点符号, 以及在美式英语中使用的特殊控制字符。不能适用于多语言平台。

 

posted on 2009-07-11 10:28 The_Moment 阅读(734) 评论(0)  编辑 收藏 引用 所属分类: VC理论

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理