如何使用GWT将短字符串编码/解码为Base64?

我需要在GWT中将短字符串编码为base 64,并解码服务器上的base 64字符串。 任何人都有实用程序类或库?

您可以在除IE≤9之外的所有浏览器的客户端上使用本机JavaScript。在服务器上,您可以使用其中一个官方类 。

的Java / GWT:

private static native String b64decode(String a) /*-{ return window.atob(a); }-*/; 

编码是btoa

您可以使用Guava提供的BaseEncoding类。

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/BaseEncoding.html

例如:

 try { String encoded = BaseEncoding.base64().encode("foo".getBytes("UTF-8")) } catch (UnsupportedEncodingException e) { GWT.log(e.getMessage()); } 

并且不要忘记将以下行添加到您的GWT模块XML:

  

BaseEncoding类可以在GWT客户端和服务器端使用。

您可以查看https://github.com/mooreds/gwt-crypto

它为GWT提供base64编码。

 Base64.encode(string.getBytes()); 

添加以下导入:

 import com.googlecode.gwt.crypto.bouncycastle.util.encoders.Base64; 

不要忘记将以下行添加到GWT模块XML:

  

Maven依赖

  com.googlecode.gwt-crypto gwt-crypto 2.3.0  

Base64类不能在客户端使用。 它必须被模仿。