ASCII 与 UNICODE 字符映射表

来源:互联网 发布:怎样注册淘宝联盟 编辑:程序博客网 时间:2024/05/16 23:41
通用 MFC 数据类型
映射到 ASCII
映射到 UNICODE
注释
_TCHAR
char
wchar_t
_TCHAR 是一个映射宏,当定义 UNICODE 时,该数据类型映射到 wchar_t,如果没有定义 UNICODE,那么它映射到 char。
_T 或 _TEXT
char 常量字符串
wchar_t 常量字符串
功能与宏相同,在 ASCII 模式下,它们被忽略,也就是说被预处理器删除掉,但是如果定义了UNICODE, 则它们会将常量字符串转换成等价的 UNICODE 。
LPTSTR
char*, LPSTR(Win32)
wchar_t*
可移植的32位字符串指针。它将字符类型映射到工程设置的类型。
LPCTSTR
const char*, LPCSTR(Win32)
const wchar_t*
可移植的32位常量字符串指针。它将字符类型常量映射到工程设置的类型。

修改字符串运算问题

  一些字符串操作函数需要获取字符串的字符数(sizeof(szBuffer)/sizeof(TCHAR)),而另一些函数可能需要获取字符串的字节数sizeof(szBuffer)。您应该注意该问题并仔细分析字符串操作函数,以确定能够得到正确的结果。

  ANSI操作函数以str开头,如strcpy(),strcat(),strlen();

  Unicode操作函数以wcs开头,如wcscpy,wcscpy(),wcslen();

  ANSI/Unicode操作函数以_tcs开头 _tcscpy(C运行期库);

  ANSI/Unicode操作函数以lstr开头 lstrcpy(Windows函数);

  考虑ANSI和Unicode的兼容,我们需要使用以_tcs开头或lstr开头的通用字符串操作函数。

原创粉丝点击