我使用信号和槽从服务器数据中获取数据。这是插槽部分:
QString text(this->reply->readAll());
问题是,文本变量将是 unicode 转义,例如:
\u043d\u0435 \u043f\u0430\u0440\u044c\u0441\u044f ;-)
有什么办法可以转换这个吗?
我想这就是你所需要的:
(使用正则表达式查找 \uCCCC 的出现,并将其替换为基数为 16 的 unicode 编号 CCCC 的 QChar)
QRegExp rx("(\\\\u[0-9a-fA-F]{4})");
int pos = 0;
while ((pos = rx.indexIn(str, pos)) != -1) {
str.replace(pos++, 6, QChar(rx.cap(1).right(4).toUShort(0, 16)));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)