如何使用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类不能在客户端使用。 它必须被模仿。