本文主要用Qt总结一个函数unicodeShowCh(),该函数的功能是把n个Unicode字符,即Unicode字符串显示为中文。其中,在Windows64位系统中,一个Unicode为两个字节byte。
1.1原理解释
在qt中,显示Unicode编码为中文十分简单,只需要用QString就可以了。QString(QChar unicode)构造函数和QString::append(QChar *unicode,int size=-1)都可以直接把Unicode编码显示为中文字符,如下是一个简单代码:
/*单个Unicode字符显示中文*/
QChar ch1=0x5b89; //0x5b89为Unicode编码,对应中文字符为“安”
qDebug()<<QString(ch1); //输出结果为 “安”
1.2具体实例
#include <QString>
#include <QDebug>
/*封装的函数,Unicode字符串显示中文,一个Unicode由两个字节byte组成*/
QString unicodeShowCh(const BYTE *byteArr,const quint16 size)
{
/*Unicode字符串显示中文,按存储位置小端序存储*/
QChar *pch=new QChar[size/2];
memset(pch,0,size/2);
memcpy(pch,byteArr,size);
QString txt(pch,size/2);
return txt;
}
void Widget::on_pushButton_2_clicked()
{
/*单个Unicode字符显示中文*/
QChar ch1=0x5b89;
qDebug()<<QString(ch1);
/*Unicode字符串