3

在 PHP 中:</p>

php -r "echo urlencode('["IM"]'); "  

结果是%5BIM%5D

但是在java中

String text = URLEncoder.encode('["IM"]',"UTF-8");
System.out.println("text" + text);

结果是text%5B%22IM%22%5D

这两个函数有什么区别?如何实现一个java代码来完成php的相同功能?

4

3 回答 3

3
String text = URLEncoder.encode('[IM]',"UTF-8");
System.out.println("text" + text);

%5BIM%5D

echo urlencode('["IM"]');

%5B%22IM%22%5D

echo urlencode('[IM]');

%5BIM%5D

echo urlencode('[\"IM\"]');

%5B%5C%22IM%5C%22%5D

于 2012-04-17T07:51:45.900 回答
1

尝试逃避内部 qoutes

php -r "echo urlencode('[\"IM\"]'); "
于 2012-04-17T07:44:00.157 回答
1
php -r "echo urlencode('["IM"]'); "

结果是 %5BIM%5D 因为函数 urlencode 实际上只将字符串[IM]作为其输入。在java中

String text = URLEncoder.encode('["IM"]',"UTF-8");

传递的字符串实际上是:["IM"]它生成的值是引号%22的编码字符串。"

于 2012-04-17T07:55:41.160 回答