StringstrURL="";
try{
strURL=URLEncoder.encode(url,"utf-8");
}catch(UnsupportedEncodingExceptione){
//TODOAuto-generatedcatchblock
System.out.println("编码失败~");
e.printStackTrace();
}
strURL=strURL.replaceAll("%3A",":").replaceAll("%2F","/")//过滤URL包含中文
.replaceAll("%3F","?").replaceAll("%3D","=").replaceAll(
"%26","&");
转换的原理。
:->3A->16*3+10->58->chr(58)=":"
/->2F->16*2+15->47->chr(47)="/"
-----------------------------------------------------
16*高位+低位
3A(16进制)→58(10进制)→字符(58)→显示“:”
编码,不是C++,这个是将UTF8转换成ANSI编码。