查看完整版本: [-- 如何将quint16表示的Unicode转换成中文? --]

QTCN开发网 -> Qt中文处理 -> 如何将quint16表示的Unicode转换成中文? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

fly263 2018-10-08 10:57

如何将quint16表示的Unicode转换成中文?

  1. quint8 length = 2;
            quint16 tmp_name[length];
            tmp_name[0]=0x5317;//北
            tmp_name[1]=0x73AF;//环
            QString str;
            for(int i=0;i<length;i++)
            {
                str+=QChar(tmp_name[i]);
            }
             qDebug()<<str;
查阅了一些资料,上述代码是可以显示成中文的,不知道这样写是否文雅?



lemonzll 2018-10-08 20:17
直接用函数QString::fromUtf16

never_forget 2018-10-09 08:58
你问我是不是文雅?嗯........         屎家之绝唱

fly263 2018-10-09 09:47
never_forget:你问我是不是文雅?嗯........         屎家之绝唱 (2018-10-09 08:58) 

优雅可能更准确一点

fly263 2018-10-09 09:48
lemonzll:直接用函数QString::fromUtf16 (2018-10-08 20:17) 

贴代码。QString是unicode编码的啊

dbzhang800 2018-10-09 10:08
fly263:贴代码。QString是unicode编码的啊 (2018-10-09 09:48) 

你的标题 ”quint16表示的Unicode” 难道不是指 utf16?

fly263 2018-10-09 11:06
dbzhang800:你的标题 ”quint16表示的Unicode” 难道不是指 utf16? (2018-10-09 10:08) 

是unicode编码的,只是我把读到的数据存到quint16[]中了

lemonzll 2018-10-09 13:16
  1. quint16 tmp_name[2];
    tmp_name[0]=0x5317;
    tmp_name[1]=0x73AF;

    qDebug() << QString::fromUtf16(tmp_name, 2);

fly263 2018-10-09 14:12
lemonzll:quint16 tmp_name[2];
tmp_name[0]=0x5317;
tmp_name[1]=0x73AF;
qDebug() << QString::fromUtf16(tmp_name, 2); (2018-10-09 13:16) 

刚才运行了,如果数组没有存满的话,会出现\u0000这样的字符


查看完整版本: [-- 如何将quint16表示的Unicode转换成中文? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled