Ho bisogno di codificare una stringa corta come base 64 in GWT e decodificare la stringa 64 di base sul server. Qualcuno ha una classe di utilità o una biblioteca per questo?Come faccio a codificare/decodificare le stringhe corte come Base64 usando GWT?
risposta
È possibile utilizzare JavaScript nativo per questo sul client su tutti i browser eccetto IE ≤ 9. Sul server è possibile utilizzare one of the official classes.
Java/GWT:
private static native String b64decode(String a) /*-{
return window.atob(a);
}-*/;
Encode è btoa
.
La classe Base64 non può essere utilizzata sul lato client. Dovrebbe essere emulato.
quale non si può usare? –
Si può avere uno sguardo a https://github.com/mooreds/gwt-crypto
Esso fornisce la codifica Base64 per GWT.
Base64.encode(string.getBytes());
Aggiungere l'importazione di seguito:
import com.googlecode.gwt.crypto.bouncycastle.util.encoders.Base64;
Non dimenticate di aggiungere la seguente riga al modulo GWT XML:
<inherits name="com.googlecode.gwt.crypto.Crypto"/>
Maven dipendenza
<dependency>
<groupId>com.googlecode.gwt-crypto</groupId>
<artifactId>gwt-crypto</artifactId>
<version>2.3.0</version>
</dependency>
Puoi usare la classe BaseEncoding prov ideato da Guava.
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/BaseEncoding.html
Ad esempio:
try {
String encoded = BaseEncoding.base64().encode("foo".getBytes("UTF-8"))
} catch (UnsupportedEncodingException e) {
GWT.log(e.getMessage());
}
E non dimenticare di aggiungere la seguente riga al modulo GWT XML:
<inherits name="com.google.common.io.Io"/>
La classe BaseEncoding può essere utilizzato su entrambe lato client GWT e lato server.
- 1. Come faccio a interpolare le stringhe?
- 2. gwt base64 image
- 3. Come faccio a far eseguire a Python tutte le stringhe identiche usando la stessa memoria?
- 4. Md5 ha una garanzia di univocità per le stringhe corte (numero finito di stringhe)?
- 5. Come faccio a fare questo usando guava?
- 6. Come faccio a rimborsare programmaticamente usando paypal?
- 7. Come faccio a visualizzare ProgressDialog usando Fragment
- 8. Come faccio a grep per stringhe con caratteri speciali come []?
- 9. Come concatenare le stringhe?
- 10. UIImage to base64 Codifica stringhe
- 11. Dividere le stringhe usando mysql
- 12. Come faccio a scorrere su un vettore di stringhe C++?
- 13. Come salvare una stringa base64 come immagine usando ruby
- 14. Come analizzare le date in GWT?
- 15. Come posso allineare le stringhe di sinistra usando String.format()?
- 16. Come faccio a far corrispondere coordinate simili usando Python?
- 17. Qual è il modo migliore per crittografare le stringhe corte in .NET?
- 18. Qual è la migliore funzione di hash a 32 bit per le stringhe corte (nomi di tag)?
- 19. Come faccio a collegare static v su windows usando msys?
- 20. Come faccio a comprimere una directory di file usando C++?
- 21. Come faccio a forzare git NOT a richiedere le credenziali
- 22. Come faccio a fare un controllo etichetta troncare le stringhe lunghe con un puntino di sospensione?
- 23. Come faccio a modificare tutte le stringhe vuote su NULL in una tabella?
- 24. come concatenare le stringhe?
- 25. Spezzare le stringhe in Python usando regex
- 26. Come faccio a tracciare determinate colonne usando xmgrace nel terminale?
- 27. come faccio a fare una richiesta $ .get usando coffeescript?
- 28. Come faccio a rendere Apache case insensitive usando .htaccess?
- 29. Come faccio a lampeggiare un LED, usando libftdi v0.18?
- 30. Come faccio a tracciare il movimento usando OpenCV in Python?
possibile duplicato di [Decodifica dati Base64 in java] (http://stackoverflow.com/questions/469695/decode-base64-data-in-java) – Johan
Le persone dovrebbero iniziare a notare che una domanda GWT ha probabilmente un contesto diverso da Java SE e non è un duplicato di una domanda di Java SE. Ciò che viene eseguito su Java SE richiede un trattamento aggiuntivo da collocare su GWT. –