Java中实现PHP中的urlencode与rawurlencode

时间:2016-01-09 12:26:05   收藏:0   阅读:1962

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"))

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!