首页 > 代码库 > Qt中gb2312/GBK的URL编解码函数
Qt中gb2312/GBK的URL编解码函数
编码函数:
QByteArray encodeURI(QString str){ QByteArray array; QTextCodec *codec=QTextCodec::codecForName("GBK"); QByteArray tmpArray; tmpArray = codec->fromUnicode(str); for(int i=0,size = tmpArray.length();i<size;i++){ char ch = tmpArray.at(i); if((ch>=‘0‘&&ch<=‘9‘)||(ch>=‘a‘&&ch<=‘z‘)||(ch>=‘A‘&&ch<=‘Z‘)){ array.append(ch); }else{ uchar low = ch & 0xff; char c[3]; sprintf(c,"%02X",low); array.append("%").append(c); } } return array;}
解码函数:
QString decodeURI(QString str){ QByteArray array; for(int i=0; i<str.length();) { if (0==QString::compare(str.mid(i,1), QString("%"))) { if ((i+2)<str.length()) { array.append(str.mid(i+1,2).toShort(0,16)); i=i+3; } else{ array.append(str.mid(i,1)); i++; } } else{ array.append(str.mid(i,1)); i++; } } QTextCodec *code=QTextCodec::codecForName("GBK"); return code->toUnicode(array);}
Qt中gb2312/GBK的URL编解码函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。