生產(chǎn)中可能遇到到場景:
1.支付寶支付時傳值(自定義參數(shù)內(nèi)容 passback_params 需要encode編碼后傳輸,回調(diào)接口中收到后需要decode解碼)
2.GET方法中傳參有特殊字符等內(nèi)容以舒,需要編碼后傳值趾痘。
3.有些web容器會默認將參數(shù)編碼后傳值,收到參數(shù)后需要解碼蔓钟。
4.導出表格永票、文件等操作,拼裝的文件名在報文頭中需編碼后傳入,以免因為自定義的文件名中有特殊字符報錯侣集。
try {
// 將application/x-www-from-urlencoded字符串轉(zhuǎn)換成普通字符串
String keyWord = URLDecoder.decode("%E4%BD%A0%E5%A5%BD", "utf-8");
System.out.println(keyWord); //輸出你好
// 將普通字符創(chuàng)轉(zhuǎn)換成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();
}
運行結(jié)果:
你好
%E4%BD%A0%E5%A5%BD