java中URLEncode和URLDecode,编码与解码

生产中可能遇到到场景:
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
posted @ 2020-12-23 15:49  小秋熊  阅读(27595)  评论(0编辑  收藏  举报