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

クラスURLEncoder


  • public class URLEncoder
    extends Object
    HTML形式をエンコードするためのユーティリティ・クラスです。 このクラスには、Stringをapplication/x-www-form-urlencoded MIME形式に変換するためのstaticメソッドが含まれます。 HTML形式のエンコードの詳細については、HTMLの仕様を参照してください。

    Stringをエンコーディングするときに、次のルールが適用されます。

    • 英数字文字の「a」から「z」、「A」から「Z」、および「0」から「9」は元のまま残します。
    • 特殊文字の「.」、「-」、「*」、および「_」は元のまま残します。
    • 空白文字「 」はプラス記号「+」に変換されます。
    • ほかのすべての文字は安全でなく、最初に何らかのエンコーディング方式を使用して1つ以上のバイトに変換されます。 次に、各バイトが3文字から成る文字列「%xy」で表現されます。ここで、xyはそのバイトを2桁の16進数で表現したものです。 使用が推奨されるエンコーディング方式はUTF-8です。 ただし、互換性を維持するために、エンコーディングが指定されていない場合はプラットフォームのデフォルトのエンコーディングが使用されます。

    たとえば、エンコーディング方式としてUTF-8を使用すると、文字列「The string u@foo-bar」は「The+string+%C3%BC%40foo-bar」に変換されます。これは、UTF-8では、文字「u」はC3 (16進数)とBC (16進数)の2バイトとしてエンコードされ、文字「@」は1バイトの40 (16進数)としてエンコードされるためです。

    導入されたバージョン:
    1.0
    • メソッドの詳細

      • encode

        @Deprecated
        public static String encode​(String s)
        非推奨。
        プラットフォームのデフォルトのエンコーディングに応じて、結果として得られる文字列が変わる可能性があります。 代わりに、encode(String,String)メソッドを使ってエンコーディングを指定するようにしてください。
        文字列をx-www-form-urlencoded形式に変換します。 このメソッドは、安全でない文字に対するバイトを取得するためのエンコーディング方式として、プラットフォームのデフォルトのエンコーディングを使用します。
        パラメータ:
        s - 変換対象のString
        戻り値:
        変換後のString
      • encode

        public static String encode​(String s,
                                    Charset charset)
        特定のCharsetを使用して、文字列をapplication/x-www-form-urlencoded形式に変換します。 このメソッドは、指定された文字セットを使用して、安全でない文字のバイトを取得します。

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

        パラメータ:
        s - 変換対象のString
        charset - 指定された文字セット
        戻り値:
        変換後のString
        例外:
        NullPointerException - sまたはcharsetnullの場合。
        導入されたバージョン:
        10
        関連項目:
        URLDecoder.decode(java.lang.String, java.nio.charset.Charset)