Java URLEncoder es una clase de utilidad que se utiliza para codificar las URL (localizador uniforme de recursos). La confiabilidad y la seguridad se garantizan mediante la codificación de URL. Cuando el usuario solicita un sitio en particular a través del método get, los parámetros del formulario y sus valores se agregan después del '?' inicie sesión en la URL. Sin embargo, el problema surge cuando se utilizan caracteres especiales en los valores que no se interpretan. Generalmente, HTML maneja la parte de codificación automáticamente procesando los caracteres especiales y convirtiéndolos en caracteres permitidos para un manejo fluido de todas las operaciones. Sin embargo, no confirma la codificación precisa, por lo que no podemos confiar únicamente en las funciones HTML y, por lo tanto, para codificar las URL explícitamente utilizamos la clase URL Encoder de Java.
Es importante seguir las reglas dadas al codificar una cadena:
- Los caracteres alfabéticos de 'a' a 'z', o de 'A' a 'Z' y los dígitos de '0' a '9' siguen siendo los mismos.
- Los caracteres alfanuméricos y algunos caracteres especiales como '*', '_', '-' y '.' no cambies.
- Todos los espacios se convierten en signos '+'.
- W3C recomienda utilizar 'UTF-8' para fines de codificación. Todos los demás caracteres se codifican en uno o más bytes utilizando el esquema de codificación especificado. Se convierten en una cadena de tres caracteres con el formato %xy, donde xy representa la representación hexadecimal del carácter de codificación.
Ejemplo 1:
Si la solicitud del usuario es tal que el valor del parámetro contiene caracteres especiales y espacios como
preguntas de la entrevista en lenguaje java
u @ punto Java T
Si la codificación utilizada es UTF-8, que es la más utilizada, el signo '@' se convertirá en '%40' y los espacios se convertirán en signos '+'. La cadena codificada se parece a la siguiente:
u%40Java+T+Punto
Ejemplo 2:
Si la solicitud del usuario es tal que el valor del parámetro no contiene caracteres especiales ni espacios como
tupla ordenada en Python
u@JavaTpoint
La cadena codificada se parece a la siguiente:
u%40JavaTPoint
cómo inventó la escuela
URL de codificación
Para codificar una URL, la clase Java URLEncoder proporciona el método encode().
URLEncoder.codificar( )
El método traduce una cadena al formato codificado application/x-www-form-url utilizando un esquema de codificación específico. Obtiene los bytes de caracteres no seguros utilizando el esquema de codificación suministrado.
Sintaxis:
public static String encode(String s, String enc) throws UnsupportedEncodingException
Nota: El World Wide Web Consortium recomienda utilizar el esquema de codificación UTF-8. De lo contrario, provoca diversas incompatibilidades.
Parámetros:
s: La cadena que se va a traducir.
expresión regular java
enc: El nombre de la codificación de caracteres admitida, como 'UTF-8'.
Devoluciones: Devuelve la cadena traducida.
Lanza: Se lanza una excepción UnsupportedEncodingException cuando el esquema de codificación nombrado no es compatible.
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 ) ; } }
Producción:
URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point