Qt字符串编码如何处理

蜗牛 互联网技术资讯 2022-10-20 115 0

这篇文章主要介绍了Qt字符串编码如何处理的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Qt字符串编码如何处理文章都会有所收获,下面我们一起来看看吧。

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字符串编码如何处理”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram