免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1242 | 回复: 0
打印 上一主题 下一主题

Qt学习系列之二:QByteArray显示中文 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-17 19:55 |只看该作者 |倒序浏览
                                       
首先有一个txt的文本文件,内部有中文,一般情况下这样的中文是以GBK标准编码的,除非你在存储的时候显式地存为Unicode。直接通过
QFile,然后读取QByteArray,会发现在命令行里面显示出来的是乱码,那是因为Qt默认情况下会以ASCII编码来解释字符串的,这个时侯我
们就需要对字符产编码进行转化,QTextCodec类可以很好的帮助我们完成这一任务。
首先包含头文件:
#include
然后,可以参考如下代码:
QString str;
QFile file("E:\\a.txt");
if
(!file.open(QIODevice::ReadOnly))
{
cerrreturn 1;
}
QTextCodec *tc =
QTextCodec::codecForName("GBK");
QByteArray ba = file.readAll();
str =
tc->toUnicode(ba);
cout这个时候,就能够正常显示中文了。

                                       
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72991/showart_1999555.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP