正如标题所说:哪个编码器会给我空间%20
而不是+
?我需要它的安卓。java.net.URLEncoder.encode 给出+
问问题
21101 次
2 回答
26
Android 有它自己的Uri
类,你可以使用它。
例如
String url = Uri.parse("http://www.google.com").buildUpon()
.appendQueryParameter("q", "foo bar")
.appendQueryParameter("xml", "<Hellö>")
.build().toString();
结果是
http://www.google.com?q=foo%20bar&xml=%3CHell%C3%B6%3E
Uri
使用 UTF-8 方案将给定字符串中的字符编码为“%”转义的八位字节。保留字母(“AZ”、“az”)、数字(“0-9”)和未保留的字符(“_-!.~'()*”)不变。
注意:仅_-.*
被 . 视为未保留字符URLEncoder
。!~'()
将转换为%21%7E%27%28%29
.
于 2013-08-19T21:37:12.530 回答
1
You have to replace the +
by yourself.
Example:
System.out.println(java.net.URLEncoder.encode("Hello World", "UTF-8").replace("+", "%20"));
For more look at this post:
于 2013-08-19T21:22:52.103 回答