Quiero usar la clase URLEncoder/URLDecoder (java.net.URLEncoder/URLDecoder) en una aplicación y los métodos: encode (String s, String enc)/decode (String s, String enc), pero no sé cuál puede ser el valor del argumento de cadena enc? Quiero codificar/decodificar en el tipo de contenido MIME "x-www-form-urlencoded". Gracias por su ayuda.URLEncoder encode/URLDecoder decode en java (Android)
Respuesta
El parámetro de codificación es la codificación de caracteres que está utilizando. For example "UTF-8"
.
El JavaDoc tiene todos los detalles
JavaDoc no menciona todos los posibles formatos de codificación ni veo una enlace a un ENUM que podría enumerarlos. – anon58192932
En primer lugar es necesario configurar el tipo de contenido como una 'x-www-form-urlencoded'. Luego, cualquiera que sea el contenido que desee codificar, codifíquelo con "UTF-8".
Por ejemplo:
Para ajustar el contenido a 'x-www-form-urlencoded':
URL url = new URL("http://www.xyz.com/SomeContext/SomeAction"); <br>
URLConnection urlConnection = url.openConnection();<br>
....<br>
....<br>
urlConnection.setRequestProperty("Content-type","application/x-www-form-urlencoded");
O si usted está usando alguna de JSP entonces usted puede escribir lo siguiente en encima de eso.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><br>
< META http-equiv="Content-Type" content="text/html; charset=UTF-8">
< FORM action="someaction.jsp" enctype="application/x-www-form-urlencoded" name="InputForm" method="POST">
Y para usar URLEncoder:
String encodedString = URLEncoder.encode("hello","UTF-8");
He hecho: - HttpPost post = new HttpPost ("url"); - post.setHeader ("Content-Type", "application/x-www-form-urlencoded"); - String encodedString = URLEncoder.codificar ("hola", "UTF-8"); - StringEntity temp; - temp.setContentEncoding (encodedString); - post.setEntity (temp); y luego ejecuta un DefaultHttpClient con una publicación para el argumento. –
¡Gracias por tu respuesta! –
¡Espero que funcione ahora! – Sourabh
URLEncoder
y URLDecoder
ambos son una excepción Throwable
y por lo tanto debe ser al menos encerrado por bloque try/catch. Sin embargo hay una manera más simple poco Litle usando android.net.Uri
:
Uri.decode(string);
Uri.encode(string);
Esos son los métodos estáticos, utiliza UTF-8, disponible desde el API-1 y la tira no es una excepción.
Mi favorito personal:
static String baseNameFromURL(URL url) {
String shortName;
String path = url.getPath();
String escaped = path.substring(path.lastIndexOf('/') + 1);
try {
shortName = URLDecoder.decode(escaped, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new Error(e.getMessage(), e);
}
int period = shortName.lastIndexOf('.');
return period > -1 ? shortName.substring(0, period) : shortName;
}
devuelve una cadena vacía si el URL no tiene una parte de nombre de archivo, como https://stackoverflow.com/
o https://stackoverflow.com/questions/
. Si hay una barra invertida en la parte del nombre del archivo, se conserva.
Puede quitar las últimas dos líneas si necesita el nombre corto con extensión en su lugar.
- 1. Decode base64 String Java 5
- 2. string decode utf-8
- 3. json decode en php
- 4. Decode CDATA en C#
- 5. Decode androide usando ffmpeg en tiempo real
- 6. Decode cadena hexadecimal en Ruby
- 7. Función DECODE() en SQL Server
- 8. Decode este extraño Javascript
- 9. CASO vs DECODE
- 10. Decode matriz de bytes de mapa de bits que ha sido comprimido en Java
- 11. codificación HTML decode C# MVC4
- 12. Decode Hex de cadenas en Python 3
- 13. Decode & volver a & en JavaScript
- 14. jQuery urlencode/decode parche ayuda
- 15. Decode pitón base 64 Cadena
- 16. Decode un marco de websocket
- 17. Decode imagen de bitarray JPEG2000 con Javascript
- 18. PowerShell - Decode System.Security.SecureString a contraseña legible
- 19. python eval vs ast.literal_eval vs JSON decode
- 20. Delphi 7 - Decode Base64 Usando TIdDecoderMIME
- 21. Alternativa estándar de SQL a Oracle DECODE
- 22. Decode escasa JSON objeto de matriz PHP
- 23. php URL decode get '+' from URL
- 24. Decode un PHP codificado con 'zend guard'
- 25. Decode un encabezado de correo electrónico UTF8
- 26. json_encode/json_decode vs Zend_Json :: encode/Zend_Json :: decode
- 27. Ejecutando 'base64 --decode' en una selección en vim
- 28. MySQL equivalente de la función DECODE en Oracle
- 29. Bitmap recycle() en java Android
- 30. Android e IPv6 en Java
Así que tengo que escribirlo así: codificar ("hola", "x-www-form-urlencoded") o para "x-www-form-urlencoded" es codificar ("hola", "UTF-8 ")? –
Tiene que escribir la codificación ("hello", "UTF-8"). x-www-form-urlencoded es siempre el tipo de resultado. El parámetro de codificación se refiere a sus datos de entrada. – jgre
¡Gracias por tu respuesta! –