HTML形式エンコード用のユーティリティクラス。このクラスには、文字列を application/x-www-form-urlencoded MIME 形式に変換するための静的メソッドが含まれています。次の記事では、サンプル コードを通じて Java の UrlDecoder と UrlEncoder の知識を紹介します。興味のある方は、ぜひ一緒にご覧ください。
HTML 形式のエンコードのための実用的なツールのクラスです。このクラスには、文字列を application/x-www-form-urlencoded MIME 形式に変換するための静的メソッドが含まれています。 HTML 形式のエンコードの詳細については、HTML 仕様を参照してください。 文字列をエンコードするときは、次のルールを使用してください:
英数字「a」から「z」、「A」から「Z」、および「0」から「9」は変更されません。
特殊文字「.」、「-」、「*」、「_」は変更されません。
スペース文字「 」はプラス記号「+」に変換されます。
他のすべての文字は安全ではないため、最初に何らかのエンコードメカニズムを使用してそれらを 1 バイト以上に変換します。各バイトは 3 文字の文字列「%xy」で表されます。xy はバイトの 2 桁の 16 進表現です。推奨されるエンコード スキームは UTF-8 です。ただし、互換性上の理由から、エンコードが指定されていない場合は、対応するプラットフォームのデフォルトのエンコードが使用されます。
たとえば、UTF-8 エンコードメカニズムを使用すると、文字列「The string ü@foo-bar」は「The+string+%C3%BC%40foo-bar」に変換されます。これは、UTF-8 では文字列がü は 2 バイトの C3 (16 進数) と BC (16 進数) としてエンコードされ、文字 @ は 1 バイトの 40 (16 進数) としてエンコードされます。II URLDecoder
このクラスには、application/x-www-form-urlencoded MIME 形式から文字列をデコードするための静的メソッドが含まれています。 この変換プロセスは、URLEncoder クラスで使用されるプロセスのまったく逆です。エンコードされた文字列内のすべての文字は、「a」から「z」、「A」から「Z」、「0」から「9」、および「-」、「_」、「」のいずれかであると想定されます。 。" 同様に"*"。 「%」文字は使用できますが、特別なエスケープ シーケンスの始まりとして解釈されます。
変換には次の規則が使用されます。
英数字「a」〜「z」、「A」〜「Z」、「0」〜「9」は変更されません。
特殊文字「.」、「-」、「*」、「_」は変更されません。
プラス記号「+」はスペース文字「 」に変換されます。
は、「%xy」形式のシーケンスを 1 バイトとして扱います。ここで、xy は 8 ビット 2 桁の 16 進表現です。次に、これらのバイト シーケンスを 1 つ以上連続して含むすべての部分文字列が、そのエンコードによってこれらの連続したバイトが生成される文字に置き換えられます。これらの文字をデコードするためのエンコード メカニズムを指定できます。指定しない場合は、プラットフォームのデフォルトのエンコード メカニズムが使用されます。
このデコーダーには、不正な文字列を処理する 2 つの方法があります。 1 つの方法は、不正な文字を無視することであり、もう 1 つの方法は、IllegalArgumentException 例外をスローすることです
簡単な例:
Java コード
try { String encodeStr = URLEncoder.encode("中国", "utf-8"); System.out.println("处理后:" + encodeStr); String decodeStr = URLDecoder.decode(encodeStr, "utf-8"); System.out.println("解码:" + decodeStr); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Java コード
处理后:%E4%B8%AD%E5%9B%BD 解码:中国
以上がJava の UrlDecoder と UrlEncoder の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。