new - url encode java
java.net.URLEncoder.encode(String) está en desuso, ¿qué debería usar en su lugar? (5)
Recibo la siguiente advertencia cuando uso java.net.URLEncoder.encode
:
warning: [deprecation] encode(java.lang.String) in java.net.URLEncoder has been deprecated
¿Qué debería estar usando en su lugar?
Como referencia adicional para las otras respuestas, en lugar de usar "UTF-8" puede usar:
HTTP.UTF_8
que se incluye desde Java 4 como parte de la biblioteca org.apache.http.protocol, que también se incluye desde Android API 1.
Deberías usar:
URLEncoder.encode("NAME", "UTF-8");
El primer parámetro es la cadena a codificar; el segundo es el nombre de la codificación de caracteres a usar (por ejemplo, UTF-8).
Use el otro método de encode
en URLEncoder :
URLEncoder.encode(String, String)
El primer parámetro es el texto a codificar; el segundo es el nombre de la codificación de caracteres a usar (por ejemplo, UTF-8
). Por ejemplo:
System.out.println(
URLEncoder.encode(
"urlParameterString",
java.nio.charset.StandardCharsets.UTF_8.toString()
)
);
Use la clase URLEncoder :
URLEncoder.encode(String s, String enc)
Dónde :
s - Cadena para ser traducida.
enc - El nombre de una codificación de caracteres compatible.
Charsets estándar:
US-ASCII ASCII de siete bits, también conocido como ISO646-US, también conocido como el bloque latino básico del conjunto de caracteres Unicode ISO-8859-1 Alfabeto latino ISO n.º 1, también conocido como ISO-LATIN-1
Formato de transformación UCS UTF-8 de ocho bits
UTF-16BE Formato de transformación UCS de dieciséis bits, orden de bytes big-endian
UTF-16LE Formato de transformación UCS de dieciséis bits, orden de bytes little-endian
UTF-16 Formato de transformación UCS de dieciséis bits, orden de bytes identificada por una marca de orden de bytes opcional
Ejemplo:
import java.net.URLEncoder;
String stringEncoded = URLEncoder.encode(
"This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");