06 MFC - Widnows字符集

简介: 06 MFC - Widnows字符集

1. 多字节字符集(8位的ANSI字符集)

在Windows98以及以前的版本使用8位ANSI字符集,它类似于我们程序员熟悉的ASCII字符集。

char sz[] = "ABCDEFG";
char *psz = "ABCDEFG";
int len = strlen(sz);

2. 宽字符集(16位的Unicode字符集)

在WindowsNT和Windows2000后开始使用16位的Unicode字符集,它是ANSI字符集的一个超集。Unicode适用于国际市场销售的应用程序,因为它包含各种各样来自非U.S.字母表的字符,比如中文,日文,韩文,西欧语言等。

//在字符串前加字母L表示将ANSI字符集转换成Unicode字符集。
wchar_t wsz[] = L"ABCDEFG"; 
wchar_t *pwsz = L"ABCDEFG";
int len = wcslen(wsz); //测试宽字节字符串的长度

3. TEXT(_T)宏

MFC中的TEXT宏可以自动适应字符类型,如果定义了预处理器程序符号_UNICODE,那么编译器将使用Unicode字符,如果没用定义该预处理器程序符号,那么编译器将使用ANSI字符。

MessageBox(TEXT("鼠标左键"));
MessageBox(_T("鼠标左键"));

4. TCHAR类型

如果定义了_UNICODE符号TCHAR将变为wchar_t类型。如果没用定义_UNICODE符号,TCHAR将变为普通古老的char类型。

目录
相关文章
|
10月前
qt编码问题
qt编码问题
40 0
|
11月前
|
编解码 数据库
程序连接数据库时使用了GBK字符集
程序连接数据库时使用了GBK字符集
75 1
|
Windows
Windows字符集
Windows字符集
97 1
Windows字符集
|
存储 架构师 JavaScript
小师妹学JavaIO之:文件编码和字符集Unicode
小师妹学JavaIO之:文件编码和字符集Unicode
Qt Creator能不能像Visual Studio一样设置“使用多字节字符集”
Qt Creator能不能像Visual Studio一样设置“使用多字节字符集”
602 0