首页 > 其他分享 >mfc中如何将多字节编码转为utf8编码

mfc中如何将多字节编码转为utf8编码

时间:2022-08-28 21:56:17浏览次数:64  
标签:编码 mfc utf8 NULL str CP data

新建mfc项目时可选多字节编码(MBCS)或者unicode编码,而有些第三方库用到了utf8编码,此时需要进行编码转换。

以下是将多字节编码转换成utf8的mfc代码,注意CP_ACP和CP_UTF8的使用

string MultiByteToUFT8(const string &str)
{
    int len = MultiByteToWideChar(CP_ACP, NULL, str.c_str(), str.size(), NULL, 0);
    vector<wchar_t> chars(len + 1);
    MultiByteToWideChar(CP_ACP, NULL, str.c_str(), str.size(), chars.data(), len);

    int len2 = WideCharToMultiByte(CP_UTF8, NULL, chars.data(), -1, NULL, NULL, NULL, NULL);
    vector<char> chars2(len2 + 1);
    WideCharToMultiByte(CP_UTF8, 0, chars.data(), -1, chars2.data(), len2, NULL, NULL);

    string str2 = chars2.data();
    return str2;
}

 

标签:编码,mfc,utf8,NULL,str,CP,data
From: https://www.cnblogs.com/ljy339/p/16633792.html

相关文章

  • PHP通过iconv将字符串从GBK转换为UTF8字符集
    PHP通过iconv将字符串从GBK转换为UTF8字符集_php技巧_脚本之家 https://www.jb51.net/article/27743.htm1.iconv()介绍iconv函数可以将一种已知的字符集文件转换成另一......
  • 力扣393(java)-UTF-8编码验证(中等)
    题目:给定一个表示数据的整数数组 data ,返回它是否为有效的UTF-8编码。UTF-8中的一个字符可能的长度为1到4字节,遵循以下的规则:对于1字节 的字符,字节的第一位......
  • 深入理解“字符编码模型”
    深入理解“字符编码模型”作者:哲思时间:2022.8.28邮箱:[email protected]:zhe-si(哲思)(github.com)前言最近踩坑了后端的文档生成,本想写篇相关的实践总结,忽然......
  • python中encode+decode编码解码
    encode()方法的语法格式:str.encode([encoding="utf-8"][,errors="strict"])decode()方法的语法格式:bytes.decode([encoding="utf-8"][,errors="strict"]) m="以心......
  • Base64编码
    用途我们知道在计算机中任何数据都是按ascii码存储的,而ascii码的128~255之间的值是不可见字符。而在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的......
  • Apple开发_字符串与Unicode编码的互转
    //字符串转Unicode-(NSString*)utf8ToUnicode:(NSString*)string{NSUIntegerlength=[stringlength];NSMutableString*str=[NSMutableStringstrin......
  • VS2019修改文件编码
    1.查看文件编码安装扩展,FileEncoding,就可以在文件窗口右下角查看到该文件的编码方式,同时也可以直接在此处修改。2.修改项目的文件编码使用editorconfig文件。在工具......
  • IDEA 设置项目文件编码
    1.打开【Setting】2.设置项目文件编码。说明:Transparentnative-to-asciiconversion主要用于转换ascii,一般都要勾选,不然Properties文件中的注释显示的都不会是中......
  • python基础-is 和==的区别及编码和解码
    python基础-is和==的区别及编码和解码 is和==的区别 #a='alex@'#a1='alex@'#print(aisa1)#Fales#......
  • MFC高校职工信息管理系统
    MFC高校职工信息管理系统6.9高校职工信息管理系统课程设计任务书一、任务开发“高校职工信息管理系统”软件。二、基本要求使用面向对象的系统分析和设计,开发基于MF......