QString 分割字符串時產生亂碼的問題

QString 提供了字符分割的封裝函數split,我所用到的原型以下:函數

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

參照聲明能夠發現,使用時無特殊要求傳入第一個分割標識便可,按照分割標識分割後返回的子串存儲在一個QStringList當中。包含有漢字時,此處常常發現相似接口

       QStringList tInfo = strMembers.split("\n");
這樣操做以後,tInfo中的帶漢字的子串亂碼,轉碼無效,沒法復原。字符串

應對該狀況的解決方案以下:原型

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

其中g_pCodec是自定義的一個漢字轉碼接口,分割以前必定要將漢字字符串轉化爲Unicode再進行分割就不會出現亂碼了。io

相關文章
相關標籤/搜索