1

URLにリダイレクトできるように、文字列String a="123+>joをエンコードしたい文字列があります。最初に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 に答える