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());//获取用户输入

 

posted on 2016-09-25 23:57  洪荒剑君  阅读(206)  评论(0编辑  收藏  举报

导航