我需要在GWT中将短字符串编码为Base64,然后在服务器上解码Base64字符串。有没有实用类或库可以做到这一点?
除了IE ≤ 9之外,您可以在客户端上使用本机JavaScript实现此操作。在服务器上,您可以使用官方类之一。
Java/GWT:
private static native String b64decode(String a) /*-{
return window.atob(a);
}-*/;
编码是btoa
。
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 文件中:
<inherits name="com.google.common.io.Io"/>
Base64.encode(string.getBytes());
在下面添加以下导入:
import com.googlecode.gwt.crypto.bouncycastle.util.encoders.Base64;
不要忘记将以下行添加到您的GWT模块XML中:
<inherits name="com.googlecode.gwt.crypto.Crypto"/>
Maven依赖
<dependency>
<groupId>com.googlecode.gwt-crypto</groupId>
<artifactId>gwt-crypto</artifactId>
<version>2.3.0</version>
</dependency>
Base64类不能在客户端使用,必须模拟它。