Qt字符串编码处理
2016-07-25 10:17
302 查看
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第五天学习
- QT第四天学习
- QT发布时遇到0x00000007b问题
- QT第三天学习
- QT_文本编辑器_源码下载
- Qt如何去掉按钮等控件的虚线框(焦点框)(两种方法)
- Qt修改文件内容
- Qt自定义带游标的slider,在滑块正上方显示当前值(非常有意思,继承QSlider之后增加一个QLabel,然后不断移动它)
- Qt基于FFmpeg播放本地 H.264(H264)文件(灿哥哥的博客)
- QTableView使用HTML显示富文本
- Ubuntu 16.04中 Qt 5.6 中无法调用fcitx输入中文的问题
- QT的信号与槽机制介绍
- Qt浅谈之三十二二维码条形码解析
- Qt实现窗口关闭动画效果
- QT修改应用程序图标
- Qt之QRadioButton
- Qt之QRadioButton
- Qt之QRadioButton
- qt5中信号和槽的新语法
- Qt之QSystemTrayIcon