两种编码格式:
- ANSI 单字符编码
- UNICODE 双字节字符编码
在winodws vista 中,每个unicode字符都是用UTF-16编码的(unicode transformation fomart)。
声明unicode字符串方法如下:
wchar_t c=L'A';
TCHAR
TCHAR 是为了统一多语言编码而设计的,程序编译为 ANSI, TCHAR 就是相当于 CHAR,当程序编译为 UNICODE, TCHAR 就相当于 WCHAR.
函数中的字符串类型:
ANSI string:PCSTR
UNICODE string:PCWSTR
TCHAR string:PTSTR
C运行库中的Unicode函数和ANSI函数:
str=wcs(wide char string)
strlen=wcslen
strcpy=wcscpy(wchar,L"abc");
strcmp=wcscmp
ANSI和UNICODE转换
MultiByteToWideChar
WideCharToMultiByte
判断文本是ANSI还是Unicode
可以用IsTextUnicode函数来进行判断。第一个参数是要检查的文本,第二个是文本的大小,第三个可以为NULL
bool ret=IsTextUnicode(Ansi,Length,NULL);
END
2010-09-0214:27:27