1、Unicode起源
Unicode是Apple和Xerox公司于1988年建立的一个技术标准。1991年,成立了一个集团机构负责Unicode的开发和推广应用。该集团由许多知名公司组成。
Unicode提供了一种简单而又一致的表示字符串的方法。Unicode字符串中的所有字符都是1 6位的(两个字节)。
2、Unicode优点
可以很容易地在不同语言之间进行数据交换。
使你能够分配支持所有语言的单个二进制. e x e文件或D L L文件。
提高应用程序的运行效率。
3、Winodws对Unicode的支持
Windows 2000是使用Unicode从头进行开发的,用于创建窗口、显示文本、进行字符串操作等的所有核心函数都需要Unicode字符串。如果调用任何一个Winodws函数并给它传递一个ANSI字符串,那么系统首先要将字符串转换成Winodws,然后将Winodws字符串传递给操作系统。如果希望函数返回ANSI字符串,系统就会首先将Unicode字符串转换成ANSI字符串,然后将结果返回给你的应用程序。
Windows 98不是一种全新的操作系统。它继承了1 6位Winodws操作系统的特性,它不是用来处理Unicode的.
因为WindowsCE在世界各地销售,为了降低软件开发成本,且使Windows CE尽量小些,微软在此系统上只提供了Unicode支持,没有提供对ANSI的支持。
4、char,WCHAR, TCHAR之区别与联系
char 表示ANSI字符集,一个字符占一个字节。
WCHAR表示宽字符集,一个字符占二个字节,即UNICODE字符。
对于TCHAR,当定义了_UNICODE宏,则代表WCHAR,如果没有定义_UNICODE宏,则代表char,TCHAR.h中有形如下面的定义:
#ifdefine _UNICODE
typedef WCHAR TCHAR
#else
typedef char TCHAR
#endif
因此,如果想要你的程序既支持ANSI,又支持UNICODE,那就使用定义在TCHAR.h中的类型和函数。