Qt 解码unicode 16进制符号字符串

来源:互联网 发布:免费下载qq软件 编辑:程序博客网 时间:2024/05/23 17:13
QString uDecodeSymbol(const QByteArray &resStr)
{
    // 如何把16进制的unicode编码音标显示在窗口中?
    // 比如: \u07a0[\u045an\u02c8ta\u076at(\u0251)lm\u0249nt]
    // 解码思路如下: 先把16进制unicode编码转换为 10进制unicode编码
    QString desStr;
    for (int i = 0; i< resStr.length();)
    {
        if (resStr.at(i) == '\\' )
        {
           QChar sz=  resStr.mid(i+2, 4).toUShort (0,16);
           desStr.append(sz);
           i += 6;
        }
        else
        {
            desStr.append(resStr.at(i));
            ++i;
        }
    }
    return desStr;
}
0 0
原创粉丝点击