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. Groovy&Gradle总结

    欢迎大家加入QQ群一起讨论: 489873144(android格调小窝) 我的github地址:https://github.com/jeasonlzy 0x01 Groovy 概述 Groovy ...

  2. 一个git pull无法使用的问题

    之前通过git管理的一个项目,今天直接用eclipse通过ssh加入工程后,每次通过git命令行pull代码都报以下错误: Unable to negotiate with 21.12.1.167 p ...

  3. 【50.88%】【Codeforces round 382B】Urbanization

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  4. sql这两个表和查询的组合yii通过使用数据库查询

    sql两个表的组合查询  使用 join on 比如:两个表查询: select u.username, t.title from user u join task t on u.id = t.id; ...

  5. 《大规模Web服务开发技术》

    Web 服务开发的心灵鸡汤 周末去上海陪妹子的两天在路途上看完了这本<大规模 Web 服务开发技术>. <大规模 Web 服务开发技术>是日本的 Hetena 团队以夏天举办的 ...

  6. IT 达人

    1. 手机与电脑多屏互动 [教程]华为多屏互动功能与PC win7的连接 要求手机和电脑必须在同一局域网内,且手机必须支持多屏互动功能. 操作步骤如下: PC 端: services.msc,启动下面 ...

  7. Swift程式语言(中国版)(8.8 %)

    前言 今天Apple宣布了一项新的编程语言Swift.还提供了一个近400页The Swift Programming Language(Swift程式语言). 虽然我没有开发者账户.不能实际锻炼机S ...

  8. 对std::string和std::wstring区别的解释,807个赞同,有例子

    807down vote string? wstring? std::string is a basic_string templated on a char, and std::wstring on ...

  9. 如何自定义WPF项目的Main函数

    原文:如何自定义WPF项目的Main函数 与Winform项目不同,WPF项目的Main函数在项目生成的时候,系统自动在后台为我们生成.根据项目生成方式的不同,其文件位于obj/Debug/App.g ...

  10. WPF中TextBlock文本换行与行间距

    原文:WPF中TextBlock文本换行与行间距 换行符: C#代码中:\r\n 或  \r 或 \n XAML中: 或 注:\r 回车 (carriage return 缩写),\n 新行 (new ...