• 3950阅读
  • 2回复

[提问]编码阵列转换问题 [复制链接]

上一主题 下一主题
离线donby
 
只看楼主 正序阅读 楼主  发表于: 2011-11-23
— 本帖被 yfx2003 从 《C++ GUI Qt 4编程》(第2版)专栏 移动到本区(2012-05-10) —


大家好
是这样子的
请问一下该如何把一整串unicode编码转成Qstring形式?

举例来说好了
假设有些变数是这样子的:

int uni_1 = 0x6211; //我
int uni_2 = 0x662F; //是
int uni_3 = 0x6F22; //汉
int uni_4 = 0x5B57; //字

这些变数分别代表"我是汉字"的unicode
如果我想把它转成中文
可以利用

QString str1 = QString(uni_1);
QString str2 = QString(uni_2);
QString str3 = QString(uni_3);
QString str4 = QString(uni_4);

这样最后str1~str4的确分别是"我是汉字"
但这样一个一个转太麻烦了
我想请问是不是有啥方式可以一次转

例如说我可以利用类似

int uni_array = {uni_1,uni_2,uni_3,uni_4}

QString str = QString( uni_array)

这样的写法
当然上面两行这样写是错的

爬了一下文似乎没看到类似的问题
所以特来请教各位大大
还请不吝指教
在此也先跟各位说声谢谢了!


离线dbzhang800

只看该作者 2楼 发表于: 2011-11-24
引用楼主donby于2011-11-23 21:56发表的 编码阵列转换问题 :
大家好
是这样子的
请问一下该如何把一整串unicode编码转成Qstring形式?
.......

一整串具体是什么含义?不管你的unicode是utf8/utf16/utf32,QString都有现成解决方案

题外:多看manual:

QString    fromUcs4 ( const uint * unicode, int size = -1 )
QString    fromUtf8 ( const char * str, int size = -1 )
QString    fromUtf16 ( const ushort * unicode, int size = -1 )
QString    fromWCharArray ( const wchar_t * string, int size = -1 )
离线wxj120bw

只看该作者 1楼 发表于: 2011-11-24
回 楼主(donby) 的帖子
可考虑下c++类来封装这样的处理
快速回复
限100 字节
 
上一个 下一个