我有一个字符串String a="123+>jo
,我想对字符串进行编码,以便我可以将它重定向到一个 url。我最初用urlencoder尝试过,但在 urldecoder +(plus) 在解码时被删除。所以我丢失了我的数据。
什么是正确的编码方法,以便我在解码时也得到相同的字符串?
问问题
338 次
1 回答
2
URLEncoder 完美运行。加号成功编码为%2B
.
编码:有效
这是 IDEONE 项目:http: //ideone.com/zMDur
import java.net.URLEncoder;
// ...
public static void main (String[] args) throws java.lang.Exception
{
String str = "123+>jo";
String str2 = "http://1.com/23+>jo";
System.out.println(URLEncoder.encode(str));
System.out.println(URLEncoder.encode(str2));
}
印刷:
123%2B%3Ejo
http%3A%2F%2F1.com%2F23%2B%3Ejo
编码+解码:有效
带有解码功能的 IDEONE 项目:http: //ideone.com/Ypfv4
import java.net.URLEncoder;
import java.net.URLDecoder;
// ...
public static void main (String[] args) throws java.lang.Exception
{
String str = "123+>jo";
String str2 = "http://1.com/23+>jo";
System.out.println(URLDecoder.decode(URLEncoder.encode(str)));
System.out.println(URLDecoder.decode(URLEncoder.encode(str2)));
}
印刷:
123+>jo
http://1.com/23+>jo
所以一切都使用java.net.URLEncoder
and java.net.URLDecoder
。
于 2012-04-14T07:19:28.767 回答