生產中可能遇到到場景:
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