Qt学习笔记——中文字符集

来源:互联网 发布:淘宝网客服怎么转人工 编辑:程序博客网 时间:2024/06/05 23:03
中文字符集
 GB2312  中文简体国标码(汉字数:6763)
 GBK   扩展中文GB编码(兼容GB2312) 汉字:2个字节     英文字母或半角标点: 1个字节


 GB18030 用1-4个字节编码,容量超大
 BIG5  中文繁体编码
 CJK   中日韩大字符集编码
 Unicode 统一码,用0-0x10FFFF来映射全球各国的语言文字
 
 使用QTextCodec


#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)
{
QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
if (!pCodec)return "";
QString qstr = pCodec->toUnicode(cstr.c_str(), cstr.length());
return qstr;
}
};
#endif
原创粉丝点击