AtUtf8.h

  1. #ifndef _QT_UTF8_H
  2. #define _QT_UTF8_H
  3. #include <QString>
  4. #include <string>
  5. using std::string;
  6. class AfUtf8
  7. {
  8. public:
  9. // QString(Unicode) -> std::string (UTF8)
  10. static string ToString(const QString& qstr)
  11. {
  12. QByteArray arr = qstr.toUtf8();
  13. string cstr = arr.data();
  14. return cstr;
  15. }
  16. // std::string (UTF8) -> QString(Unicode)
  17. static QString ToQString(const string& cstr)
  18. {
  19. QString qstr = QString::fromUtf8(cstr.c_str(), cstr.length());
  20. return qstr;
  21. }
  22. };
  23. #endif

AtGbk.h

  1. #ifndef _QT_GBK_H
  2. #define _QT_GBK_H
  3. #include <QString>
  4. #include <QTextCodec>
  5. #include <string>
  6. using std::string;
  7. class AfGbk
  8. {
  9. public:
  10. // QString(Unicode) -> std::string (GBK)
  11. static string ToString(const QString& qstr)
  12. {
  13. QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
  14. if(!pCodec) return "";
  15. QByteArray arr = pCodec->fromUnicode(qstr);
  16. string cstr = arr.data();
  17. return cstr;
  18. }
  19. // std::string (GBK) -> QString(Unicode)
  20. static QString ToQString(const string& cstr)
  21. {
  22. QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
  23. if(!pCodec) return "";
  24. QString qstr = pCodec->toUnicode(cstr.c_str(), cstr.length());
  25. return qstr;
  26. }
  27. };
  28. #endif

http://blog.csdn.net/bladeandmaster88/article/details/53469959

string与QString转换(string既可以是utf8,也可以是gbk)的更多相关文章

  1. QString 与 string转换

    [1]QString 转换为string QString qString("好好学习天天向上"); std::string stdString = qString.toStdStr ...

  2. QString与string的相互转换

    1.QString转换String string s = qstr.toStdString(); 2.String转换QString QString qstr2 = QString::fromStdS ...

  3. QString与string的相互转换【转载】

    文章转载自https://blog.csdn.net/qq_33485434/article/details/80680506 1.QString转换String string s = qstr.to ...

  4. JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类

    <pre name="code" class="java"></pre><pre name="code" cl ...

  5. android 中List转换String,String转换List 改进版本

    原来博客地址http://blog.csdn.net/qq7342272/article/details/6830907 使用原作者贴的代码不是很好用,不能正常运行,所以我稍微改进了一下,特来分享给大 ...

  6. C#中char[]与string之间的转换;byte[]与string之间的转化

    目录 1.char[]与string之间的转换 2.byte[]与string之间的转化 1.char[]与string之间的转换 //string 转换成 Char[] string str=&qu ...

  7. string与QString之间的转换(两种方法:fromStdString直接转换,或者fromLocal8Bit(cstr.c_str())

    string str;QString qstr; //从QString 到 std::stringstr = qstr.toStdString(); //从std::string 到QStringqs ...

  8. Qt QString与string的转换

    QString --> string QString.toStdString();   string --> QString QString::fromStdString(string);

  9. QString, Std::string, char *相互转换

    Qt 库中对字符串类型进行了封装,QString 类提供了所有字符串操作方法,给开发带来了便利. 由于第三方库的类型基本上都是标准的类型,即使用std::string或char *来表示字符 (串) ...

随机推荐

  1. spring security之httpSecurity 专题

    37.5.2 Resolving the CsrfToken Spring Security provides CsrfTokenArgumentResolver which can automati ...

  2. 【17.69%】【codeforces 659F】Polycarp and Hay

    time limit per test4 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...

  3. WPF 高速书写 StylusPlugIn 原理

    原文:WPF 高速书写 StylusPlugIn 原理 本文告诉大家 WPF 的 StylusPlugIn 为什么能做高性能书写,在我的上一篇博客和大家介绍了 WPF 的触摸原理,但是没有详细告诉大家 ...

  4. C# 创建文件释放 Dispose()

    System.IO.File.Create("文件路径") 前提确保有此路径, 否则会报错 本以为创建文件是会自动释放的, 结果没有自动释放 , fs.Write(response ...

  5. Arcgis api for javascript学习笔记(4.5版本)-三维地图并叠加天地图标注

    1.三维地图实现 在官网的demo中就有三维地图的实现,如下图所示 <!DOCTYPE html> <html> <head> <meta charset=& ...

  6. background意识(两)

    今天看到了有关学习的价值的文章background于 [0积分下载我的小Demo]

  7. Qt图片自适应窗口控件大小(使用setScaledContents)

    最近在用Qt设计一个小程序,想让一幅图片自适应窗口大小,由于本人比较笨,一直找不到好方法.找到了很多方法但都会出一些小问题, 刚刚摸索出解决办法了,在些记录. 思想: 1 显示图像是用QLabel2 ...

  8. Qt自定义弹窗屏蔽父窗口(QWidget设置setWindowModality(Qt::ApplicationModal);以后再show)

    写Qt程序时遇到一个问题: Qt自带的弹窗功能单一,所以须要自己用ui设计弹窗的内容,这样弹窗就和普通窗口一样了,但问题是这个弹窗显示后父窗口还是活动的.网上找了很久找到了解决办法: Qt::Wind ...

  9. Python经常使用内置函数介绍【filter,map,reduce,apply,zip】

    Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是 ...

  10. OpenGL(四) 左右手坐标系及基本坐标变换

    左手坐标系.右手坐标系.笛卡尔坐标系 左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向. 右手坐标系:伸开右手,大拇指指向X轴正方向,食指指向Y轴正方向,其他 ...