欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > qt char*与QString互转

qt char*与QString互转

2024/10/25 12:16:04 来源:https://blog.csdn.net/weixin_41882459/article/details/142355661  浏览:    关键词:qt char*与QString互转

一、QString转char*

QString转char*有很多方法

方法1:gbk编码

QString qTest("abc");
char* pTest;
QByteArray baTest = qTest.toLatin1();
pTest = baTest.data();

方法2:utf编码

QString aaa = "jdpoafjeowqfq";
QByteArray byteArr = aaa.toUtf8();
const char*  bbb = byteArr.data();

注意:之所以没有直接使用aaa.toUtf8().data();是因为在转回QString的时候出现很多问号??。建议分开处理,多写一行代码。

方法3:有中文的情况下

QString sTest("abc中文");
std::string ssTest = sTest.toStdString();
const char* ch = ssTest.c_str();

二、char*转QString

主要看是哪种编码方式转的了

方法1:对应上文的方法1

QString::fromLocal8bit();

方法2:对应上文的方法2

QString::fromUtf8();

还有一些其他的方法:


const char*  timestr= "nfiuahfia";
//法1
QTextCodec *codec = QTextCodec::codecForName("");
QString str = codec->toUnicode(timestr);
//法2
​QString ddd = QLatin1String(timestr)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com