• 293阅读
  • 8回复

如何将quint16表示的Unicode转换成中文? [复制链接]

上一主题 下一主题
离线fly263
 

只看楼主 倒序阅读 楼主  发表于: 10-08
  1. quint8 length = 2;
  2.         quint16 tmp_name[length];
  3.         tmp_name[0]=0x5317;//北
  4.         tmp_name[1]=0x73AF;//环
  5.         QString str;
  6.         for(int i=0;i<length;i++)
  7.         {
  8.             str+=QChar(tmp_name[i]);
  9.         }
  10.          qDebug()<<str;
查阅了一些资料,上述代码是可以显示中文的,不知道这样写是否文雅?


离线lemonzll

只看该作者 1楼 发表于: 10-08
直接用函数QString::fromUtf16
离线never_forget

只看该作者 2楼 发表于: 10-09
你问我是不是文雅?嗯........         屎家之绝唱
离线fly263

只看该作者 3楼 发表于: 10-09
回 never_forget 的帖子
never_forget:你问我是不是文雅?嗯........         屎家之绝唱 (2018-10-09 08:58) 

优雅可能更准确一点
离线fly263

只看该作者 4楼 发表于: 10-09
回 lemonzll 的帖子
lemonzll:直接用函数QString::fromUtf16 (2018-10-08 20:17) 

贴代码。QString是unicode编码的啊
离线dbzhang800

只看该作者 5楼 发表于: 10-09
回 fly263 的帖子
fly263:贴代码。QString是unicode编码的啊 (2018-10-09 09:48) 

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

只看该作者 6楼 发表于: 10-09
回 dbzhang800 的帖子
dbzhang800:你的标题 ”quint16表示的Unicode” 难道不是指 utf16? (2018-10-09 10:08) 

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

只看该作者 7楼 发表于: 10-09
  1. quint16 tmp_name[2];
  2. tmp_name[0]=0x5317;
  3. tmp_name[1]=0x73AF;
  4. qDebug() << QString::fromUtf16(tmp_name, 2);
离线fly263

只看该作者 8楼 发表于: 10-09
回 lemonzll 的帖子
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这样的字符
快速回复
限100 字节
 
上一个 下一个