java.lang.Object
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() -
メソッドのサマリー
修飾子と型 メソッド 説明 static Stringdecode(String s)非推奨。プラットフォームのデフォルトのエンコーディングに応じて、結果として得られる文字列が変わる可能性があります。static Stringdecode(String s, String enc)特定のコード体系を使用してapplication/x-www-form-urlencoded文字列をデコードします。static Stringdecode(String s, Charset charset)特定のCharsetを使用してapplication/x-www-form-urlencoded文字列をデコードします。
-
コンストラクタの詳細
-
URLDecoder
public URLDecoder()
-
-
メソッドの詳細
-
decode
@Deprecatedpublic 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文字列をデコードします。このメソッドは、decode(java.lang.String,java.nio.charset.Charset)と同じように動作しますが、「文字セットを参照」は指定されたエンコーディング名を使用します。
- 実装上の注意:
- この実装は、不正な文字列が見つかった場合に
IllegalArgumentExceptionをスローします。 - パラメータ:
s- デコードするStringenc- サポートされる文字エンコーディングの名前。- 戻り値:
- 新しくデコードされた
String - 例外:
UnsupportedEncodingException−文字エンコーディングを参照する必要があるが、指定された文字エンコーディングがサポートされていない場合- 導入されたバージョン:
- 1.4
- 関連項目:
URLEncoder.encode(java.lang.String, java.lang.String)
-
decode
特定のCharsetを使用してapplication/x-www-form-urlencoded文字列をデコードします。 指定された文字セットは、どの文字が "%xy"という形式の連続したシーケンスによって表されるかを判断するために使用されます。注: World Wide Web Consortium Recommendationには、UTF-8を使用すべきであると明記されています。 そうしなかった場合、互換性を確保できなくなる可能性があります。
- 実装上の注意:
- この実装は、不正な文字列が見つかった場合に
IllegalArgumentExceptionをスローします。 - パラメータ:
s- デコードするStringcharset- 指定された文字セット- 戻り値:
- 新しくデコードされた
String - 例外:
NullPointerException-sまたはcharsetがnullの場合IllegalArgumentException- 実装が不正な文字に遭遇した場合- 導入されたバージョン:
- 10
- 関連項目:
URLEncoder.encode(java.lang.String, java.nio.charset.Charset)
-