win开发

vs开发程序时,右键工程名/属性/配置属性/常规/字符集有以下选项:使用多字节字符集|使用Unicode字符集,啥区别?

多字节字符集 MBCS:

代码中的 CString 实际上是 CStringA 即 char* ;

char* 单字节字符指针,每个字符占1字节(8位),用于处理ASCII字符集和多字节编码(GBK,UTF-8);

每个字符可能站1-n个字节,字符串以\0 结尾,用 strcpy strlen strcat 等str系函数处理

char* str = "hello"; //ASCII 字符串

char* utf8=“你好”; //utf8 中文占3个字节

wchar_t* 宽字符指针,每个字符站两个字节(win)或4个字节(linux),用于处理unicode字符集,如(UTF-16或UTF-32)

每个字符站固定的两个字节,用 wcscpy wcslen wcscat 等wcs系的函数处理

wchar_t * wstr = L"Hello"; 宽字符字符串,win 2字节/字符

wchar_t* wchina = L“你好”; unicode  每个中文占2个字节

Unicode字符集:

代码中的CString 实际上是 CStringW 即 wchar_t*;

 

永远不要直接将 char* 转为 wchar_t* ,必须通过编码转换函数

posted @ 2025-12-31 11:03  luckyFireHao  阅读(3)  评论(0)    收藏  举报