ホームページ >Java >&#&チュートリアル >Java の UrlDecoder と UrlEncoder の詳細な紹介

Java の UrlDecoder と UrlEncoder の詳細な紹介

黄舟
黄舟オリジナル
2017-07-24 15:35:542280ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。