Java URLEncoder ist eine Dienstprogrammklasse, die zum Codieren der URLs (Uniform Resource Locator) verwendet wird. Zuverlässigkeit und Sicherheit werden durch die URL-Verschlüsselung gewährleistet. Wenn der Benutzer eine bestimmte Site über die get-Methode anfordert, werden die Formularparameter und ihre Werte nach dem „?“ hinzugefügt. Geben Sie die URL ein. Das Problem entsteht jedoch, wenn in den Werten Sonderzeichen verwendet werden, die nicht interpretiert werden. Im Allgemeinen übernimmt HTML den Codierungsteil automatisch, indem es die Sonderzeichen verarbeitet und sie in die Zeichen umwandelt, die für eine reibungslose Abwicklung aller Vorgänge zulässig sind. Es bestätigt jedoch nicht die genaue Kodierung, daher können wir uns nicht ausschließlich auf HTML-Funktionen verlassen und verwenden daher zur expliziten Kodierung der URLs die URL-Encoder-Klasse von Java.
Es ist wichtig, beim Codieren einer Zeichenfolge die angegebenen Regeln zu befolgen:
- Die alphabetischen Zeichen von „a“ bis „z“ bzw. von „A“ bis „Z“ und die Ziffern von „0“ bis „9“ bleiben gleich.
- Die alphanumerischen Zeichen und einige Sonderzeichen wie „*“, „_“, „-“ und „.“ verändere dich nicht.
- Alle Leerzeichen werden in „+“-Zeichen umgewandelt.
- W3C empfiehlt die Verwendung von „UTF-8“ für Kodierungszwecke. Alle anderen Zeichen werden mithilfe des angegebenen Codierungsschemas durch ein oder mehrere Bytes codiert. Sie werden in eine dreistellige Zeichenfolge der Form %xy umgewandelt, wobei xy die hexadezimale Darstellung des Kodierungszeichens darstellt.
Beispiel 1:
Wenn die Benutzeranforderung so ist, dass der Parameterwert Sonderzeichen und Leerzeichen enthält
Schauspielerin Sai Pallavi
u@Java T-Punkt
Wenn die Kodierung UTF-8 verwendet wird, die am häufigsten verwendet wird, wird das „@“-Zeichen in „%40“ und Leerzeichen in „+“-Zeichen umgewandelt. Die codierte Zeichenfolge sieht wie folgt aus:
u%40Java+T+Punkt
Beispiel 2:
Java-Mathe-Kurs
Wenn die Benutzeranforderung so ist, dass der Parameterwert keine Sonderzeichen und Leerzeichen enthält
u@JavaTpoint
Die codierte Zeichenfolge sieht wie folgt aus:
u%40JavaTPoint
Codierungs-URL
Um eine URL zu kodieren, stellt die Java-Klasse URLEncoder die Methode encode() bereit.
URLEncoder.encode( )
Die Methode übersetzt eine Zeichenfolge mithilfe eines bestimmten Codierungsschemas in das codierte Format application/x-www-form-url. Mithilfe des bereitgestellten Codierungsschemas werden die Bytes für unsichere Zeichen abgerufen.
double, um Java zu stringen
Syntax:
public static String encode(String s, String enc) throws UnsupportedEncodingException
Hinweis: Das World Wide Web Consortium empfiehlt die Verwendung des UTF-8-Codierungsschemas. Andernfalls kommt es zu verschiedenen Inkompatibilitäten.
Parameter:
Wert der Zeichenfolge
S: Die zu übersetzende Zeichenfolge.
enc: Der Name der unterstützten Zeichenkodierung, z. B. „UTF-8“.
Kehrt zurück: Es gibt den übersetzten String zurück.
Würfe: UnsupportedEncodingException wird ausgelöst, wenn das genannte Codierungsschema nicht unterstützt wird.
URLEncoder.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 ) ; } }
Ausgabe:
URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point