字符集
在VC2012中,字符集默认采用Unicode字符集(Use Unicode Charecter Set选项),其值还可以设置为多字节字符集(Use Multi-Byte Charecter Set)。
为什么要使用Unicode
- 可以很容易地在不同语言之间进行数据交换。
- 使你能够分配支持所有语言的单个二进制.exe文件或DLL文件。
- 提高应用程序的运行效率。
Windows 2000是使用Unicode从头进行开发的,如果调用任何一个Windows函数并给它传递一个ANSI字符串,那么系统首先要将字符串转换成Unicode,然后将Unicode字符串传递给操作系统。如果希望函数返回ANSI字符串,系统就会首先将Unicode字符串转换成ANSI字符串,然后将结果返回给你的应用程序。进行这些字符串的转换需要占用系统的时间和内存。通过从头开始用Unicode来开发应用程序,就能够使你的应用程序更加有效地运行。
Microsoft公司将COM从16位Windows转换成Win32时,公司决定需要字符串的所有COM接口方法都只能接受Unicode字符串。
Windows定义的Unicode数据类型有哪些
WCHAR Unicode字符;
PWSTR 指向Unicode字符串的指针;
PCWSTR 指向一个恒定的Unicode字符串的指针;
对应的ANSI数据类型为CHAR,LPSTR和LPCSTR;
ANSI/Unicode通用数据类型为TCHAR,PTSTR,LPCTSTR。