1、Qt字符串编码说明
从Qt操作得到的字符串都是utf-8
如果使用标准C(ANSI C)库函数,如果包含中文,则标准C库函数则需要GBK编码。
//需要头文件#include <QTextCodec>
QTextCodec *codec = QTextCodec::codecForName("GBK");
//fileName为QString类型
//codec->fromUnicode();把utf-8转化为GBK,返回值为QByteArray(字节数组)
//QByteArray.data()字节数组转换为char *
char *file = codec->fromUnicode(fileName).date();
Qt控件显示中文,必须是utf-8才能正常显示
//假如从文件中读取到中文内容为gbk编码
fgets(buf, sizeof(buf), fp);
//需要头文件#include <QTextCodec>
QTextCodec *codec = QTextCodec::codecForName("GBK");
//把一个GBK编码的字符串转化utf-8,同时将char *转换为QString类型
QString str = codec->toUnicode(buf);
2、QString和char *转换
//QString为Qt字符串类型
QString str = "hello world";
//QString -> const char *
const char *p = str.toStdString().data();
char *p = "hello world";
QString str = p; //char * -> QString
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,C++设计模式,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓