Android Studio 和 Java 中的 DatatypeConverter
类都提供了 Base64 编码和解码的方法,但它们之间存在一些差异
从 Android API 级别 8(Android 2.2 Froyo)开始,Android 提供了自己的 Base64 类,位于 android.util
包中。因此,建议在 Android 应用程序中使用 Android 提供的 Base64 类,因为它针对 Android 平台进行了优化。
import android.util.Base64;
public static String encodeBase64(byte[] data) {
return Base64.encodeToString(data, Base64.DEFAULT);
}
import android.util.Base64;
public static byte[] decodeBase64(String base64String) {
return Base64.decode(base64String, Base64.DEFAULT);
}
Java 的 DatatypeConverter
类是在 Java 7 中引入的,位于 javax.xml.bind
包中。这个类提供了 Base64 编码和解码的方法。然而,从 Java 9 开始,DatatypeConverter
类已被弃用,建议使用 java.util.Base64
类。
import javax.xml.bind.DatatypeConverter;
public static String encodeBase64(byte[] data) {
return DatatypeConverter.printBase64Binary(data);
}
import javax.xml.bind.DatatypeConverter;
public static byte[] decodeBase64(String base64String) {
return DatatypeConverter.parseBase64Binary(base64String);
}
android.util.Base64
类进行 Base64 编码和解码。java.util.Base64
类(Java 8 及更高版本),而避免使用已弃用的 javax.xml.bind.DatatypeConverter
类。没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云