Java URLEncoder は、URL (Uniform Resource Locator) をエンコードするために使用されるユーティリティ クラスです。 URLのエンコーディングにより信頼性とセキュリティが確保されています。ユーザーが get メソッドを通じて特定のサイトをリクエストすると、フォーム パラメータとその値が「?」の後に追加されます。 URL にサインインします。ただし、解釈されない値に特殊文字が使用されている場合に問題が発生します。一般に、HTML は特殊文字を処理してエンコード部分を自動的に処理し、すべての操作をスムーズに処理できる文字に変換します。ただし、正確なエンコードを確認するものではないため、HTML 機能だけに依存することはできず、URL を明示的にエンコードするには Java の URL Encoder クラスを使用します。
文字列をエンコードするときは、指定されたルールに従うことが重要です。
- 「a」から「z」、または「A」から「Z」までのアルファベットと「0」から「9」までの数字は変わりません。
- 英数字と、「*」、「_」、「-」、「.」などの特殊文字。変えないで。
- すべてのスペースは「+」記号に変換されます。
- W3C では、エンコードには「UTF-8」を使用することを推奨しています。他のすべての文字は、指定されたエンコード スキームを使用して 1 バイト以上でエンコードされます。これらは %xy 形式の 3 文字の文字列に変換されます。xy はエンコード文字の 16 進表現を表します。
例 1:
ユーザー要求がパラメーター値に特殊文字とスペースを含むようなものである場合、
アリサ・マニョノク
u@Java Tポイント
使用されるエンコードが最も一般的に使用される UTF-8 の場合、「@」記号は「%40」に変換され、スペースは「+」記号に変換されます。エンコードされた文字列は次のようになります。
u%40Java+T+ポイント
例 2:
ユーザー要求がパラメータ値に特殊文字やスペースを含まないものである場合、
u@JavaTpoint
Javaの個別の文字列
エンコードされた文字列は次のようになります。
u%40JavaTPoint
URLのエンコード
URL をエンコードするために、Java URLEncoder クラスは encode() メソッドを提供します。
整数を文字列Javaに変換する方法
URLEncoder.encode( )
このメソッドは、特定のエンコード スキームを使用して文字列を application/x-www-form-url エンコード形式に変換します。提供されたエンコード スキームを使用して、安全でない文字のバイトを取得します。
構文:
public static String encode(String s, String enc) throws UnsupportedEncodingException
注: World Wide Web Consortium は、UTF-8 エンコード スキームを使用することを推奨しています。そうしないと、さまざまな非互換性が発生します。
パラメーター:
s: 翻訳される文字列。
環境: 「UTF-8」など、サポートされている文字エンコーディングの名前。
Javaのインスタンス化
戻り値: 翻訳された文字列を返します。
投げる: UnsupportedEncodingException は、指定されたエンコード スキームがサポートされていない場合にスローされます。
URLエンコーダ.java
import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; public class UrlEncoder { public static void main(String[] args) throws MalformedURLException, UnsupportedEncodingException { String baseUrl = 'https://www.javatpoint.com/'; // String to be encoded as requested by the user String query = ' u@ java T point'; System.out.println(' URL without any encoding : ') ; // creating an object of the URL class URL url = new URL(baseUrl + query) ; System.out.println( url ) ; // using the encode( ) method to encode the URL System.out.println( ' URL after encoding : ' ) ; url = new URL( baseUrl + URLEncoder.encode( query, 'UTF-8' ) ) ; System.out.println( url ) ; } }
出力:
URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point