• 4388阅读
  • 2回复

[提问]QString转换为unicode(已解决) [复制链接]

上一主题 下一主题
离线silence.sx
 
只看楼主 倒序阅读 楼主  发表于: 2012-07-10
·c#的服务器、 Qt的客户端。


传输中文,老是乱码


现在想把QString转换成unicode


sendText="中文" 转换成  sendText="\u4E2D\u6587"
离线silence.sx
只看该作者 1楼 发表于: 2012-07-10
求助啊!!!!
离线silence.sx
只看该作者 2楼 发表于: 2012-07-10
  1. QString MainWindow::stringToUnicode(QString str){
  2.      const QChar *q;
  3.     QChar qtmp;
  4.     QString str0, strout;
  5.     int num;
  6.     q=str.unicode();
  7.     int len=str.count();
  8.     for(int i=0;i<len;i++)
  9.     {
  10.        // strout="\\u"+strout;
  11.          qtmp =(QChar)*q++;
  12.         num= qtmp.unicode();
  13.         if(num<255)
  14.             strout+="\\u00"; //英文或数字前加"00"
  15.         else
  16.             strout+="\\u";
  17.          str0=str0.setNum(num,16);//变成十六进制数
  18.          strout=strout+str0;
  19.     }
  20.      return strout;
  21. }


快速回复
限100 字节
 
上一个 下一个