GBK轉換封裝

//    封裝 

#ifndef _QT_GBK_H
#define _QT_GBK_H
#include<QString>
#include<QTextCodec>
#include<string>
using std::string;

class GBK
{
public:
    static string FromUnicode(const QString& qstr)
    {
        QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
        if (!pCodec)return "";

        QByteArray arr = pCodec->fromUnicode(qstr);
        string cstr=arr.data();
        return cstr;
    }
    static QString ToUnicode(const string& cstr)    //QBT轉換QString
    {
        QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
        if (!pCodec)return "";

        QString qstr = pCodec->toUnicode(cstr.c_str(), cstr.length());
        return qstr;

    }
};
#endif//


使用::
    QString str = GBK::ToUnicode("你好中國");
    ui.linetxt->setText(str);    //uilinetxt->setText(GBK::ToUnicode("你好中國"))


        string text = GBK::FromUnicode(ui.linetxt->text());//獲取用戶輸入
相關文章
相關標籤/搜索