UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE
下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节
。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。
MBCS:它是多字节字符集,它是不定长表示世界文字的编码。MBCS表示英文字母时就和ASCII一样(这也
是我们容易把MBCS和ASCII搞混的原因),但表示其他文字时就需要用多字节。
WINDOWS下面的程序设计可以支持MBCS和UNICODE两种编码的字符串,具体用那种就看你定义了MBCS宏还是
UNICODE宏。MBCS宏对应的字符串指针是char*也就是LPSTR,UNICODE对应的指针是unsigned short*也
就是LPWSTR,为了写程序方便微软定义了类型LPTSTR,在MBCS下他就是char*, 在UNICODE下它是
unsigned char*,这样你就可以重定义一个宏进行不同字符集的转换了。