生产中可能遇到到场景:
1.支付宝支付时传值(自定义参数内容 passback_params 需要encode编码后传输,回调接口中收到后需要decode解码)
2.GET方法中传参有特殊字符等内容,需要编码后传值。
3.有些web容器会默认将参数编码后传值,收到参数后需要解码。
4.导出表格、文件等操作,拼装的文件名在报文头中需编码后传入,以免因为自定义的文件名中有特殊字符报错。
try { // 将application/x-www-from-urlencoded字符串转换成普通字符串 String keyWord = URLDecoder.decode("%E4%BD%A0%E5%A5%BD", "utf-8"); System.out.println(keyWord); //输出你好 // 将普通字符创转换成application/x-www-from-urlencoded字符串 String urlString = URLEncoder.encode("你好", "utf-8"); //输出%E4%BD%A0%E5%A5%BD System.out.println(urlString); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); }
运行结果:
你好 %E4%BD%A0%E5%A5%BD