多字节和宽字节
- 多字节:一个字符对应一个字节(英语国家最开始使用)
- 宽字节:一个字符对应多个字节(中文、韩文等其它语言引入后使用)
Unicode 就是宽字节,unicode 有很多种比如常见的 UTF-8 (一个字符对应 3 个字节) GBK(一个字符对应 2 个字节)
多字节转宽字节
MFC 工程中会设定当前工程使用什么字节,如果要使用中文要选择宽字节(unicode)。

多字节如何转宽字节?
第一种方法:直接在字符串前加 L 即可,如:
MessageBox(L"aaaa");
第二种方法:如果工程默认的字符集设置成了宽字节,那在任何字符串前加 TEXT 就会将字符串转成宽字节。其实 TEXT 就是将字符串转成工程默认的字符集。如果默认的字符集是多字节,就会将字符串转成多字节。
TEXT 有自适应编码转换能力,TCHAR 也有自适应编码转换能力。
MessageBox(TEXT(“aaaa”));
参考:
本文探讨了多字节和宽字节的概念,重点讲解了在MFC工程中两者的选择与转换方法,包括直接使用L前缀和TEXT函数的应用。通过实例展示了如何将多字节字符串转化为宽字节,以适应不同编码环境。
297

被折叠的 条评论
为什么被折叠?



