码迷,mamicode.com
首页 > 其他好文 > 详细

QString 分割字符串时产生乱码的问题

时间:2017-04-17 13:10:09      阅读:568      评论:0      收藏:0      [点我收藏+]

标签:case   res   函数   nbsp   conf   转码   sep   qstring   required   

QString 提供了字符分割的封装函数split,我所用到的原型如下:

QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts,
                      Qt::CaseSensitivity cs = Qt::CaseSensitive) const Q_REQUIRED_RESULT;

参照声明可以发现,使用时无特殊要求传入第一个分割标识即可,按照分割标识分割后返回的子串存储在一个QStringList当中。包含有汉字时,此处经常发现类似

       QStringList tInfo = strMembers.split("\n");
这样操作之后,tInfo中的带汉字的子串乱码,转码无效,无法复原。

应对该情况的解决方案如下:

  QStringList tInfo = KsSysConfig::g_pCodec->toUnicode(strMembers.c_str()).split("\n");

其中g_pCodec是自定义的一个汉字转码接口,分割之前一定要将汉字字符串转化为Unicode再进行分割就不会出现乱码了。

QString 分割字符串时产生乱码的问题

标签:case   res   函数   nbsp   conf   转码   sep   qstring   required   

原文地址:http://www.cnblogs.com/TTaiAL/p/6722131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!