string与QString转换(string既可以是utf8,也可以是gbk)
AtUtf8.h
- #ifndef _QT_UTF8_H
- #define _QT_UTF8_H
- #include <QString>
- #include <string>
- using std::string;
- class AfUtf8
- {
- public:
- // QString(Unicode) -> std::string (UTF8)
- static string ToString(const QString& qstr)
- {
- QByteArray arr = qstr.toUtf8();
- string cstr = arr.data();
- return cstr;
- }
- // std::string (UTF8) -> QString(Unicode)
- static QString ToQString(const string& cstr)
- {
- QString qstr = QString::fromUtf8(cstr.c_str(), cstr.length());
- return qstr;
- }
- };
- #endif
AtGbk.h
- #ifndef _QT_GBK_H
- #define _QT_GBK_H
- #include <QString>
- #include <QTextCodec>
- #include <string>
- using std::string;
- class AfGbk
- {
- public:
- // QString(Unicode) -> std::string (GBK)
- static string ToString(const QString& qstr)
- {
- QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
- if(!pCodec) return "";
- QByteArray arr = pCodec->fromUnicode(qstr);
- string cstr = arr.data();
- return cstr;
- }
- // std::string (GBK) -> QString(Unicode)
- static QString ToQString(const string& cstr)
- {
- QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
- if(!pCodec) return "";
- QString qstr = pCodec->toUnicode(cstr.c_str(), cstr.length());
- return qstr;
- }
- };
- #endif
http://blog.csdn.net/bladeandmaster88/article/details/53469959
string与QString转换(string既可以是utf8,也可以是gbk)的更多相关文章
- QString 与 string转换
[1]QString 转换为string QString qString("好好学习天天向上"); std::string stdString = qString.toStdStr ...
- QString与string的相互转换
1.QString转换String string s = qstr.toStdString(); 2.String转换QString QString qstr2 = QString::fromStdS ...
- QString与string的相互转换【转载】
文章转载自https://blog.csdn.net/qq_33485434/article/details/80680506 1.QString转换String string s = qstr.to ...
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
<pre name="code" class="java"></pre><pre name="code" cl ...
- android 中List转换String,String转换List 改进版本
原来博客地址http://blog.csdn.net/qq7342272/article/details/6830907 使用原作者贴的代码不是很好用,不能正常运行,所以我稍微改进了一下,特来分享给大 ...
- C#中char[]与string之间的转换;byte[]与string之间的转化
目录 1.char[]与string之间的转换 2.byte[]与string之间的转化 1.char[]与string之间的转换 //string 转换成 Char[] string str=&qu ...
- string与QString之间的转换(两种方法:fromStdString直接转换,或者fromLocal8Bit(cstr.c_str())
string str;QString qstr; //从QString 到 std::stringstr = qstr.toStdString(); //从std::string 到QStringqs ...
- Qt QString与string的转换
QString --> string QString.toStdString(); string --> QString QString::fromStdString(string);
- QString, Std::string, char *相互转换
Qt 库中对字符串类型进行了封装,QString 类提供了所有字符串操作方法,给开发带来了便利. 由于第三方库的类型基本上都是标准的类型,即使用std::string或char *来表示字符 (串) ...
随机推荐
- 【17.00%】【codeforces 621D】Rat Kwesh and Cheese
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- 一个简易版的Function.prototype.bind实现
重新看<JavaScript设计模式与开发实践>一书,第32页发现个简易版的Function.prototype.bind实现,非常容易理解,记录在这了. Function.prototy ...
- sql数据库恢复神器--Log Explorer 4.2使用教程
对于程序员来说,世界最悲催的事情是什么?——就是手贱,把数据库的数据给删掉了,更悲催的是木有任何数据库备份 感谢万能的度娘,感谢无私奉献的网友们,最感谢强大的LogExplorer工具 . 使用Lo ...
- Struts2——(7)拦截器组件
AOP:面向切面编程(通过配置文件来指定作用到目标对象) OOP:面向对象编程 AOP具有很好的可插拔特性,很灵活. 可用于封装共通的业务处理,之后可以通过配置作用到Action组件上. 共通的业务处 ...
- Android中去掉标题的方法总结
方法一:也一般入门的时候经常使用的一种方法在setContentView()方法的前面插入代码: requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标 ...
- mysql安装出现应用程序无法正常启动(oxc000007b)的解决方案
原文:mysql安装出现应用程序无法正常启动(oxc000007b)的解决方案 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/IUNIQUE/art ...
- DB 查询分析器 轻松创建DB2定义他们自己的函数
DB 查询分析器 方便地创建DB2自己定义函数 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 ...
- PHP中间uniqid在高并发重复问题
在公用事业最近项目生成token检查问题.首先考虑php中间uniqid()函数生成一个随机字符串,但因为该函数的良好似基于微秒的水平.在高并发的情况下,,也能够产生相同的值. 解1:uniqid(r ...
- 标准差standard deviation和标准错误standard error你能解释一下
by:ysuncn(欢迎转载,请注明原创信息) 什么是标准差(standard deviation)呢?依据国际标准化组织(ISO)的定义:标准差σ是方差σ2的正平方根:而方差是随机变量期望的二次偏差 ...
- 用callgraph生成的函数调用关系图
Wu Zhangjin 创作于 2015/04/05 评论打赏 By Falcon of TinyLab.org 2015/04/03 1 故事缘由 源码分析是程序员离不开的话题.无论是研究开源项目, ...