モジュール java.base
パッケージ java.net

クラスURLDecoder



  • public class URLDecoder
    extends Object
    HTML形式をデコードするためのユーティリティ・クラスです。 このクラスには、application/x-www-form-urlencoded MIME形式からStringをデコードするためのstaticメソッドが含まれます。

    その変換処理は、URLEncoderクラスによって使用される処理の逆になります。 エンコード済み文字列に含まれる文字は必ず、次のいずれかであると仮定されます。"a" - "z"、"A" - "Z"、"0" - "9"、"-"、"_"、"."、"*"。 文字「%」は使用可能ですが、これは、特殊なエスケープ・シーケンスの開始と解釈されます。

    次の表記ルールが適用されます。

    • 英数字文字の「a」から「z」、「A」から「Z」、および「0」から「9」は元のまま残します。
    • 特殊文字の「.」、「-」、「*」、および「_」は元のまま残します。
    • プラス記号「+」を空白文字「 」に変換します。
    • %xy」という形式のシーケンスは、バイトの表現として扱われます。ここで、xyは8ビットを2桁の16進数で表現したものです。 次に、それらのバイト・シーケンスを連続して1つ以上含む部分文字列はすべて、エンコーディング結果がそれらの連続したバイトになるような文字へと置換されます。 これらの文字のデコードに使用するエンコーディング方式は指定可能であるが、指定しなかった場合には、プラットフォームのデフォルトのエンコーディングが使用されます。

    このデコーダが不正な文字列を処理する際に使用できる方法は、2つあります。 不正な文字をそのまま残すこともできますし、IllegalArgumentExceptionをスローすることもできます。 デコーダがどちらの方法を取るかは、実装によって異なります。

    導入されたバージョン:
    1.2
    • コンストラクタの詳細

      • URLDecoder

        public URLDecoder​()
    • メソッドの詳細

      • decode

        @Deprecated
        public static String decode​(String s)
        非推奨。 プラットフォームのデフォルトのエンコーディングに応じて、結果として得られる文字列が変わる可能性があります。 代わりに、decode(String,String)メソッドを使ってエンコーディングを指定するようにしてください。
        x-www-form-urlencoded文字列をデコードします。 プラットフォームのデフォルトのエンコーディングに基づいて、「%xy」という形式の任意の連続するシーケンスがどの文字を表しているかが決定されます。
        パラメータ:
        s - デコードするString
        戻り値:
        新しくデコードされたString
      • decode

        public static String decode​(String s,
                                    String enc)
                             throws UnsupportedEncodingException
        特定のコード体系を使用してapplication/x-www-form-urlencoded文字列をデコードします。 指定されたエンコーディングに基づいて、%xyという形式の任意の連続するシーケンスがどの文字を表しているかが決定されます。

        注: World Wide Web Consortium Recommendationには、UTF-8を使用すべきであると明記されています。 そうしなかった場合、互換性を確保できなくなる可能性があります。

        パラメータ:
        s - デコードするString
        enc - サポートされる文字エンコーディングの名前。
        戻り値:
        新しくデコードされたString
        例外:
        UnsupportedEncodingException−文字エンコーディングを参照する必要があるが、指定された文字エンコーディングがサポートされていない場合
        導入されたバージョン:
        1.4
        関連項目:
        URLEncoder.encode(java.lang.String, java.lang.String)