QT 中让中文URL不变成乱码

//让中文URL不变成乱码
void encodeURI(QString str, QByteArray &outArr){
  QTextCodec *codec = QTextCodec::codecForName("UTF-8");
  if(codec->canEncode(str)) {
    QByteArray tmpArr;
    tmpArr = codec->fromUnicode(str);
    for(int i=0,size = tmpArr.length();i<size;i++){
      char ch = tmpArr.at(i);
      if(ch < 128 && ch > 0){
      outArr.append(ch);
      }else{
        uchar low = ch & 0xff;
        char c[3];
        sprintf(c,"%02X",low);
        outArr.append("%").append(c);
      }
    }
  }
}

posted on 2012-12-19 15:22  zhaowl  阅读(795)  评论(0编辑  收藏  举报