URLEncoder與URLDecoder編碼相互轉換
URLEncoder.encode("北京 東城 東城區", "UTF-8") 會把漢字轉成UTF-8編碼,空格轉成“+”,如:
%E5%8C%97%E4%BA%AC+%E4%B8%9C%E5%9F%8E+%E4%B8%9C%E5%9F%8E%E5%8C%BA
要把“+”換成%20,再調用一次replaceAll()就行了,如:
URLEncoder.encode("北京 東城 東城區", "UTF-8").replaceAll("\+","%20")
結果:
%E5%8C%97%E4%BA%AC%20%E4%B8%9C%E5%9F%8E%20%E4%B8%9C%E5%9F%8E%E5%8C%BA
相互轉換
轉換成編碼:
URLEncoder.encode("北京");
輸出:%E5%8C%97%E4%BA%AC
轉換成漢字:
java.net.URLDecoder.decode("%E5%8C%97%E4%BA%AC","UTF-8");
輸出:北京
取得本機默認的編碼方式名稱:
Charset.defaultCharset().name();
例如:UTF-8