如何正确转换QSTring类型字符串和UNICODE

 我来答
匿名用户
推荐于2018-04-12
展开全部
最近在项目中发现从文本文件中读取的QSTring类型字符串无法正确识别,经常是乱码输出,后来我发现用以下方法可以正确输出:
将QString转为char字符串
printf("%s\n", (const char*)lineEdit2->text ().local8Bit());
另外如果还是有无法识别的乱码出现,可以在代码中加入
QTextCodec *codec=QTextCodec::codecForName("UTF8");

最后有一个关于汉字unicode码的提取与转换的问题,以下是我的实现方法

提取QString unicode码:
unsigned int a = lineEdit2->text ().at (0).unicode ();
printf("%d, %d\n", (wchar_t)((const char*)lineEdit2->text ()), a);
printf("%d\n", convent(a));
将unicode设为汉字:
QString ch;
unsigned int tt;
tt = 0x963f;
ch = ch.setUnicodeCodes((const unsigned short int *)&tt,1);
pushButton2->setText (ch);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式