Java中實現PHP中的urlencode與rawurlencode


php手冊中對urlencode這樣說明

在java中 URLEncoder做了這樣注釋

 

也就是說java中對星號"*"是不進行編碼的 也就是說URLEncoder之后還是"*",PHP中urlencode是返回%2A

Java跟PHP對空格都是處理成"+"

要實現Java與PHP中urlencode的一致,Java中可以這樣做:

  //Java : output "+%2A"

  System.out.println(URLEncoder.encode(" *", "UTF-8").replace("*", "%2A"));

  //php : output "+%2A"

    echo urlencode(" *");

 php中的rawurlencode中對 空格' '處理成了%20  星號'*'也處理成%2A 波浪線'~'處理成'~'

  //php output %20%2A~

  echo rawurlencode(" *~");

 

Java中要實現php中的rawurlencode就需要這樣做了

  //Java output%20%2A~

  System.out.println(URLEncoder.encode(" *~", "UTF-8").replace("*", "%2A").replace("+", "%20").replace("%7E", "~"));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM