String strURL = ""; try { strURL = URLEncoder.encode(url, "utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block 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编码。