首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    QString与char *的相互转换

    一、QString 转换为 char * 将 QString 转 char *,需要用到 QByteArray 类,QByteArray 类的说明详见 Qt 帮助文档。...方法如下: QString str; char* ch; QByteArray ba = str.toLatin1(); // must ch=ba.data(); 这样就完成了 QString 向...补充:以上方法当 QString 里不含中文时,没有问题,但是 QString 内含有中文时,转换为 char * 就是乱码,采用如下方法解决: 方法1: 添加GBK编码支持: #include <QTextCodec...codecForName("GBK")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK")); 然后将上面的第3行修改为: QByteArray...、 char * 转换为 QString 将 char * 转换为 QString 比较容易操作,我们可以使用 QString 的构造函数进行转换: QString(const QLatin1String

    4.7K20

    33.QT-UTF8,GBK互转

    首先需要用到QString的静态成员函数来获取字符数组: QByteArray QString::toLocal8Bit () ;                     //获取字节数组对象...char * QByteArray::data (); //通过字节数组对象的成员data函数,获取char数组 QTextCodec编码类介绍 互转主要用到这个类,通过该类可以获取编码对象...GB2312 GBK等 比如获取utf-8编码对象: QTextCodec *utf8 = QTextCodec::codecForName("UTF-8"); //获取UTF-8编码对象 示例-utf8转为...UTF-8编码对象将啊哈转为utf-16 QTextCodec *gbk = QTextCodec::codecForName("GBK"); //获取GBK编码对象 QByteArray...str.toLocal8Bit()); //通过gbk编码对象将啊哈转为utf-16 QTextCodec *utf8 = QTextCodec::codecForName("UTF-8"); QByteArray

    2.1K50
    领券