qt unicode编码到16进制符号字符串

来源:互联网 发布:淘宝批量修改运费模板 编辑:程序博客网 时间:2024/05/21 06:57
QByteArray uEncodeSymbol(const QString &resStr)
{
    // 如何把Unicode中文字符串以\u十六进制方式显示?
    // 比如: 汉字中文显示成\u07a0\u045an\u02c8
    // 解码思路如下: 先把unicode 转换成10进制 大于ascii码就进行转换
    QByteArray desStr;
    foreach (QChar var, resStr) 
    {
        if(var.unicode ()>255){
            
            QByteArray &arr = QString::number (
                        var.unicode (),16).insert (0,"\\u").toLatin1 ();
            desStr.append (arr);
        }else{
            
            desStr.append (var.unicode ());
        }
    }
    return desStr;
}
                                             
0 0