Windows字符集

您所在的位置:网站首页 mfc编码转换 Windows字符集

Windows字符集

2023-01-02 12:08| 来源: 网络整理| 查看: 265

一、基础知识

英文编码:1个字符对应1个字节(多字节) 中文编码:1个字符对应多个字节(宽字节)

Unicodeutf-8 一个字符对应3个字节GBK 一个字符对应2个字节 二、windows编程中的字符编码

MFC编程时,如下代码可能会导致报错

MessageBox("qwq");

这是因为字母默认是多字节编码,而项目属性使用的字符集一般为宽字节(右击项目,最下面找到属性,高级->字符集 可查看项目使用的编码方式) 修改项目使用的字符集 所以这时需要进行编码方式的转换,有以下两种方法:

// 1. 使用TEXT进行转换(TEXT具备自适应编码的转换能力) MessageBox(TEXT("qwq")); // 2. 在字符串前添加L,告诉程序使用宽字节的编码方式处理以下字符串 MessageBox(L"qwq"); 三、Windows字符串的一些操作 统计字符串长度 // 统计多字节字符串长度 int num = 0; char * p1 = "qwq"; num = strlen(p1); // 统计宽字节字符串长度 wchar_t * p2 = L"qwq"; num = wcslen(p2); char* 与 CString之间的转换 // char* -> CString char * p3 = "qwq"; CString str = CString(p3); // CString -> char* CStringA tmp; tmp = str; char* p4 = tmp.GetBuffer();

string和CString之间是无法相互转换的,因此需要char*作为桥梁



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3