1

我有一个字符串String a="123+>jo,我想对字符串进行编码,以便我可以将它重定向到一个 url。我最初用urlencoder尝试过,但在 urldecoder +(plus) 在解码时被删除。所以我丢失了我的数据。

什么是正确的编码方法,以便我在解码时也得到相同的字符串?

4

1 回答 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.URLEncoderand java.net.URLDecoder

于 2012-04-14T07:19:28.767 回答