Necesito codificar una cadena corta como base 64 en GWT y decodificar la cadena base 64 en el servidor. ¿Alguien tiene clase de utilidad o biblioteca para esto?¿Cómo codifico/decodifico cadenas cortas como Base64 usando GWT?
Respuesta
Puede utilizar JavaScript nativo para esto en el cliente en todos los navegadores excepto IE ≤ 9. En el servidor puede usar one of the official classes.
Java/GWT:
private static native String b64decode(String a) /*-{
return window.atob(a);
}-*/;
Codificar es btoa
.
La clase Base64 no se puede utilizar en el lado del cliente. Tendría que ser emulado.
cuál no se puede usar? –
Usted puede echar un vistazo a https://github.com/mooreds/gwt-crypto
Proporciona la codificación base64 a GWT.
Base64.encode(string.getBytes());
Añadir la importación a continuación:
import com.googlecode.gwt.crypto.bouncycastle.util.encoders.Base64;
No se olvide de añadir la siguiente línea a su módulo de GWT XML:
<inherits name="com.googlecode.gwt.crypto.Crypto"/>
Maven dependencia
<dependency>
<groupId>com.googlecode.gwt-crypto</groupId>
<artifactId>gwt-crypto</artifactId>
<version>2.3.0</version>
</dependency>
Puede usar la clase BaseEncoding prov ideado por Guava.
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/BaseEncoding.html
Por ejemplo:
try {
String encoded = BaseEncoding.base64().encode("foo".getBytes("UTF-8"))
} catch (UnsupportedEncodingException e) {
GWT.log(e.getMessage());
}
Y no se olvide de añadir la siguiente línea a su módulo de GWT XML:
<inherits name="com.google.common.io.Io"/>
La clase BaseEncoding se puede utilizar tanto en el lado del cliente GWT y el lado del servidor.
- 1. gwt base64 imagen
- 2. Función hash para cadenas cortas
- 3. Agrupación ~ 100,000 cadenas cortas en Python
- 4. Cómo guardar una cadena base64 como una imagen usando ruby
- 5. base64 codificación cadenas unicode en python 2.7
- 6. Agregar cadenas cortas a un conjunto en Ruby es lento
- 7. búsqueda de cadenas cortas masivas de alto rendimiento en Python
- 8. Formateador de cadenas en GWT
- 9. En Android, ¿cómo concatenar cadenas codificadas en base64?
- 10. Convirtiendo entre cadenas NSData y base64
- 11. Validar cadena es formato base64 usando RegEx?
- 12. La mejor manera de separar dos cadenas base64
- 13. Usando Guava con GWT
- 14. ¿Las instrucciones cortas de IL no son cortas?
- 15. ¿Cómo codifica cadenas como \ u00d6?
- 16. ¿Cómo debo almacenar cadenas cortas de texto en una base de datos SQL Server?
- 17. ¿Cómo enviar datos de formularios multiparte binarios como base64?
- 18. problema usando el codificador base64 y InputStreamReader
- 19. Delphi 7 - Decode Base64 Usando TIdDecoderMIME
- 20. Cómo Base64 codifica un objeto Java usando org.apache.commons.codec.binary.base64?
- 21. ¿Cómo codifico una cadena para base64 usando solo boost?
- 22. Javascript deshabilitado, preguntas cortas
- 23. Medición de distancias cortas
- 24. file_get_contents() para URLs cortas
- 25. GWT bookmarket o GWT como una biblioteca externa
- 26. Usando guayaba empaquetada con GWT
- 27. ¿Cómo cambiar teclas cortas en Vim?
- 28. gif animado codificado en base64 como fondo css?
- 29. GWT + Eclipse - cómo actualizar recursos estáticos como CSS
- 30. Comparar versiones como cadenas
posible duplicado de [Datos de Decode Base64 en java] (http://stackoverflow.com/questions/469695/decode-base64-data-in-java) – Johan
La gente debería comenzar a notar que una pregunta de GWT probablemente tiene un contexto diferente desde Java SE y no es un duplicado de una pregunta Java SE. Lo que se ejecuta en Java SE requiere un tratamiento adicional para GWT. –