Red de conocimiento informático - Material del sitio web - Cómo implementar URLEncode en Java

Cómo implementar URLEncode en Java

La forma de implementar URLEncode en Java es introducir el paquete java.net.URLEncoder.

java.net.URLDecoder.decode(String s,String enc);

Convierte la cadena application/x-www-form-urlencoded en una cadena normal.

java.net.URLEncoder.decode(String s,String enc);

Convierte cadenas ordinarias en cadenas application/x-www-form-urlencoded

La clase URLEncoder contiene clases que convierten cadenas al formato MIME apply/x-www-form-urlencoded.

Uno de los muchos desafíos que enfrentan los diseñadores web es cómo lidiar con las diferencias entre los sistemas operativos. Estas diferencias pueden causar problemas con las URL: por ejemplo, algunos sistemas operativos permiten espacios en los nombres de los archivos, mientras que otros no. La mayoría de los sistemas operativos no consideran que el símbolo "#" en un nombre de archivo tenga ningún significado especial; sin embargo, en una URL, el símbolo "#" indica el final del nombre del archivo, seguido de un identificador de fragmento. Surgen problemas similares con otros conjuntos de caracteres especiales no alfanuméricos que tienen un significado especial en las URL u otros sistemas operativos. Para solucionar estos problemas, los caracteres que utilicemos en la URL deben ser elementos del juego de caracteres fijo en el juego de caracteres ASCII, de la siguiente manera:

1. Letras mayúsculas A-Z

. 2. Letras minúsculas a-z

3.0-9

4.puntuación - _ .!~ * ' (y,)

Caracteres, como: / & ?@ # ; $ + = y % también se pueden usar, pero cada uno tiene su propio propósito especial, y si un nombre de archivo contiene estos caracteres (/ & ? @ # ; $ + = %), estos y todos los demás caracteres deben usarse. ser codificado.

El proceso de codificación es muy simple: como se mencionó anteriormente, cualquier carácter que no sea un número ASCII, una letra o un signo de puntuación se convertirá en bytes. Cada byte se escribe como: un "%" seguido de. dos caracteres. un valor hexadecimal. Los espacios en blanco son un caso especial porque son muy comunes. Además de codificarse como "%20", también se puede codificar como "+". El signo más (+) en sí está codificado como %2B. Tanto / # = & como ? deben codificarse cuando se usan como parte de un nombre y no como separador entre partes de la URL.

Advertencia Esta estrategia no funciona bien en entornos heterogéneos con conjuntos de caracteres grandes. Por ejemplo, en Windows de EE. UU., é está codificado como %E9. En Mac de EE. UU., está codificado como %8E. La existencia de esta incertidumbre es una deficiencia obvia de los URI existentes. Esta incertidumbre es una clara deficiencia de los URI existentes y debería mejorarse en futuras especificaciones de URI a través de Identificadores de Recursos Internacionales (IRI).