[qt]qstring和string中文支持转换问题

QString str2qstr(const string str)
{
    return QString::fromLocal8Bit(str.data());
}

string qstr2str(const QString qstr)
{
    QByteArray cdata = qstr.toLocal8Bit();
    return string(cdata);
}

原文地址:https://www.cnblogs.com/lyggqm/p/9487858.html

时间: 2024-08-28 08:59:35

[qt]qstring和string中文支持转换问题的相关文章

QT QString与char *之间的转换 【转载】

原文网址:http://blog.csdn.net/candyliuxj/article/details/6429208 1.QString转char * 先将QString转换为QByteArray,再将QByteArray转换为char *. 注意:不能用下面的转换形式char *mm = str.toLatin1().data();.因为这样的话,str.toLatin1()得到的QByteArray类型结果就不能保存,最后转换,mm的值就为空. 2. char * 转QString 可以

中文汉字转换拼音PHP类

1 <?php 2 /** 3 * 中文汉字转换拼音类 4 * 功能支持 5 * 1.支持中文转换全拼 6 * 2.支持中文转换简拼(首字母) 7 * 3.支持转换的字符串返回格式设置(字符中间的间隔字符) 8 * 方法包含四个可以直接调用 请查看类注释 以及调用示例 9 * getJp.getQp.getJpDelimiter.getQpDelimiter 10 * 11 * 以下是研究本代码看懂本类需要的知识点: 12 * 1.掌握PHP的面向对象编程的基本用法 13 * 2.掌握计算机AS

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

Qt 库中对字符串类型进行了封装,QString 类提供了所有字符串操作方法,给开发带来了便利. 由于第三方库的类型基本上都是标准的类型,即使用std::string或char *来表示字符 (串) 类型,因此在Qt框架下需要将QString转换成标准字符 (串) 类型.下面介绍QString, Std::string, char *相互转换转换方法. std::string和char *的相互转换 1.  将char *或char[]转换为std::string 可直接赋值 std::stri

MacTex下应用XeLatex实现中文支持

1.tex.latex.xetex.xelatex的关系 Tex是由计算机科学家 D.E.Knuth 设计并实现的排版系统.而LaTeX 就是一个“TeX 宏包”,它扩展了 TeX 的功能,使我们很方便的逻辑的进行创作而不是专心于字体,缩进这些烦人的东西.也就是说,每一个LaTeX 命令实际上最后都会被转换解释成几个甚至上百个TeX 命令.TeX 还有其它的大型宏包,它们和 LaTeX 一起都被叫做 "format(格式)",现在还有一种常用的format叫做 ConTeXt, 用它能

QT QString转char*,char*转QString;简单明了,看代码。

//原始QStringQString qs = QString::fromLocal8Bit("我的");std::string strQs = qs.toStdString(); int qs_size = qs.length();//长度为3int strQs_size = strQs.length();//长度8 //得到转换后的char*char* p = new char[strQs_size];memcpy(p, qs.toStdString().c_str(), strQ

cocos2dx 3.0 中文 iconv 转换函数

//#include <string> #pragma once #include "cocos2d.h"; #include "iconv\include\iconv.h" //#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) // 编译链接的时候指定静态库 //#pragma comment(lib,"libiconv.lib") //#endif int convert(char *fr

中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八--&gt;12345678)

昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2…十换成10.可是那么问题来了…… 一十二呢…不能是1102吧…这不就坑爹了吗?一百万呢………所有我苦苦思索,花费了我差不多半天的时间,终于写出了下面的程序. 1 public static void main(String[] args){ 2 3 Map<Character, String> numberMap = new HashMap<

解决Qt Creator 不能输入中文的问题

自从使用了ubuntu,就发现我的编程软件eclipse和qt creator 可以显示中文,但不能输入中文,这给我的编程注释带来很大的不便.如何解决呢?在此做简要记录. 首先,安装ibus-qt4. 保证ubuntu联网的状态下,从ubuntu软件中心,查找ibus,并安装. 或者使用命令 sudo apt-get install ibus 安装. 然后,选择系统工具->系统设置->语言支持->键盘输入方式系统,选择ibus.入图所示. 重启ubuntu. 这个时候,如果qt crea

【转】QT QString, wchar_t *, TCHAR, CString和其他字符或字符串类型的转化

//QString to wchar_t *: const wchar_t * encodedName = reinterpret_cast<const wchar_t *>(fileName.utf16()); //QString to char * given a file name: QByteArray fileName = QFile::encodeName(aFileName); const char * encodedName = fileName.constData(); //