当前位置: 代码迷 >> QT开发 >> 汉字怎么转成 \uXXXX
  详细解决方案

汉字怎么转成 \uXXXX

热度:51   发布时间:2016-04-25 04:27:52.0
汉字如何转成 \uXXXX ?
截止今 Qt 安装并试用了一个礼拜了,的确非常好用。

不过初步问题还是一大堆:

汉字如何转成 \uXXXX ?转回来倒是非常方便。
我现在就差这个功能,就可以开始把我的 Application Server 从 BC 移植到 Qt 了。


字符集的转换还不会,最奇怪的是 QString 用的是 char ,它自己不带转换为 wchar_t ?
toWCharArray 成员方法实际上直是把 char 的值放到了 wchar_t 中,并没进行转码。真是太奇怪了。



------解决方案--------------------
C/C++ code
QString SocketManage::stringToUnicode(QString str){    const QChar *q;    QChar qtmp;    QString str0, strout;    int num;    q=str.unicode();    int len=str.count();    for(int i=0;i<len;i++)    {        qtmp =(QChar)*q++;        num= qtmp.unicode();        if(num<128)            strout+="\\u00"; //英文或数字前加"00"        else            strout+="\\u";        str0=str0.setNum(num,16);//变成十六进制数        strout=strout+str0;    }    return strout;}