QString 互转 char*
今天,抽时间做了一下qstring和char*互转的实验,把结果列出来,然后再把自己的建议写出来。
msvc64 使用2015
建议:
1、使用mingw32,源文件格式使用utf8,
2、使用msvc64-2015,元文件格式使用utf8-bom,
QString转char*使用
QString strChinese1 = "中午中文";//正常 std::string stdStr = strChinese1.toStdString();//正常 const char* ch = stdStr.c_str();//正常
char* 转 QString使用
char sz[100] = {"中为首的12324352342"};
QString str1 = QString("%1").arg(sz);//正常
QString str3 = QString::fromUtf8(sz);//正常
测试过程:
QString 转 char*
QString 转 char* msvc2015 64 文件utf8 QString strChinese1 = "中午中文";//显示乱码 std::string stdStr = strChinese1.toStdString();//乱码 const char* ch = stdStr.c_str();//乱码 QString strChinese2 = "中午中文sdfsdf水电费看见了";//乱码 QByteArray by = strChinese2.toLocal8Bit();//乱码 char* ch1 = by.data();//正常 QString strChinese3 = "中午中文sdfsdf水电";//乱码 QByteArray by1 = strChinese2.toLatin1();//乱码 char* ch2 = by1.data();//乱码 mingw32 文件utf8 QString strChinese1 = "中午中文";//正常 std::string stdStr = strChinese1.toStdString();//正常 const char* ch = stdStr.c_str();//正常 QString strChinese2 = "中午中文sdfsdf水电费看见了";//正常 QByteArray by = strChinese2.toLocal8Bit();//乱码 char* ch1 = by.data();//乱码 QString strChinese3 = "中午中文sdfsdf水电";//正常 QByteArray by1 = strChinese2.toLatin1();//乱码 char* ch2 = by1.data();//乱码 msvc2015 64 文件utf8 bom QString strChinese1 = "中午中文";//正常 std::string stdStr = strChinese1.toStdString();//正常 const char* ch = stdStr.c_str();//正常 QString strChinese2 = "中午中文sdfsdf水电费看见了";//乱码 QByteArray by = strChinese2.toLocal8Bit();//乱码 char* ch1 = by.data();//乱码 QString strChinese3 = "中午中文sdfsdf水电";//正常 QByteArray by1 = strChinese2.toLatin1();//乱码 char* ch2 = by1.data();//乱码 mingw32 文件utf8 bom QString strChinese1 = "中午中文";//正常 std::string stdStr = strChinese1.toStdString();//正常 const char* ch = stdStr.c_str();//正常 QString strChinese2 = "中午中文sdfsdf水电费看见了";//正常 QByteArray by = strChinese2.toLocal8Bit();//乱码 char* ch1 = by.data();//乱码 QString strChinese3 = "中午中文sdfsdf水电";//正常 QByteArray by1 = strChinese2.toLatin1();//乱码 char* ch2 = by1.data();//乱码
char* 转 QString
char* 转 QString msvc 64 文件utf8 bom char sz[100] = {"中为首的12324352342"}; QString str1 = QString("%1").arg(sz);//正常 QString str2 = QString::fromLocal8Bit(sz);//乱码 QString str3 = QString::fromUtf8(sz);//正常 mingw32 文件 utf8 bom char sz[100] = {"中为首的12324352342"}; QString str1 = QString("%1").arg(sz);//正常 QString str2 = QString::fromLocal8Bit(sz);//乱码 QString str3 = QString::fromUtf8(sz);//正常 mingw32 文件 utf8 char sz[100] = {"中为首的12324352342"}; QString str1 = QString("%1").arg(sz);//正常 QString str2 = QString::fromLocal8Bit(sz);//乱码 QString str3 = QString::fromUtf8(sz);//正常 msvc64 utf8 文件 utf8 bom char sz[100] = {"中为首的12324352342"}; QString str1 = QString("%1").arg(sz);//正常 QString str2 = QString::fromLocal8Bit(sz);//乱码 QString str3 = QString::fromUtf8(sz);//正常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具