欢迎您的访问
专注于分享最有价值的互联网技术干货

5-2、Java java.util.Base64.Encoder 类

几个T的资料等你来白嫖
双倍快乐
一定要收藏这个宝藏网站防止丢失,求助资源~!!!

Java java.util.Base64.Encoder 类是 java.util.Base64 类的一个内部静态类。该类提供了一些方法用于将一些字节数据编码为 Base64 格式的数据。

( JAVA >= 8 )

java.util.Base64.Encoder 类

java.util.Base64.Encoder 类的定义如下

public static class Base64.Encoder extends Object

java.util.Base64.Encoder 类实现了一个编码器,使用 RFC 4648RFC 2045 中规定的 Base64 编码方案对字节数据进行编码。

java.util.Base64.Encoder 类的实例是线程安全的。可以安全的在多个并发线程使用。

除非另有说明,否则将 null 参数传递给此类的方法将导致抛出 NullPointerException

java.util.Base64.Encoder 类的方法

方法 说明
[]byte encode(byte[] src) 使用 Base64 编码方案将指定字节数组中的所有字节编码并输出到一个新的字节数组中
int encode(byte[] src, byte[] dst) 使用 Base64 编码方案对指定字节数组中的所有字节进行编码,将结果字节写入给定的输出字节数组,从偏移量 0 开始
ByteBuffer encode(ByteBuffer buffer) 使用 Base64 编码方案将指定字节缓冲区中的所有剩余字节编码并输出到新的 ByteBuffer 中
String encodeToString(byte[] src) 使用 Base64 编码方案将指定的字节数组编码,并转换为字符串
Base64.Encoder withoutPadding() 返回一个 Base64.Encoder 实例,该实例与当前实例等效编码,不同的是前者不会在编码字节数据的末尾添加任何填充字符
OutputStream wrap(OutputStream os) 使用 Base64 编码方案包装输出流以编码字节数据

上面这 6 个方法,除了 withoutPadding() 外,可以说都是 encode 方法各种重载,接收各种类型的数据,也支持将结果输出为相应类型。

获取 java.util.Base64.Encoder 类的实例

java.util.Base64 类提供了四个静态方法可以返回 java.util.Base64.Encoder 类的实例

方法 说明
Base64.Encoder getEncoder() 返回一个 Base64.Encoder 类型的 简单 编码器
Base64.Encoder getMimeEncoder() 返回一个 Base64.Encoder 类型的 MINE 编码器
Base64.Encoder getMimeEncoder(
int lineLength, byte[] lineSeparator)
返回一个 Base64.Encoder 类型的使用特定长度和行分隔符的 MINE 编码器
Base64.Encoder getUrlEncoder() 返回一个 Base64.Encoder 类型的 URL 和文件名安全的编码器

范例:

我们写一个范例演示下 String encodeToString(byte[] src) 方法的使用

Base64Tester.java

import java.util.Base64;
import java.io.UnsupportedEncodingException;

public class Base64Tester {

   public static void main(String args[]) {

      try {
         String raw= "Java 8 Base64 编码解码 - Java8新特性 - 大白菜博客";

         String base64encoded = Base64.getEncoder().encodeToString(raw.getBytes("utf-8"));

         System.out.println(base64encoded);

      } catch(UnsupportedEncodingException e) {
         System.out.println("异常:" + e.getMessage());
      }
   }
}

运行以上范例,输出结果如下

[dabaicai@www.cmsblogs.cn helloworld]$ javac Base64Tester.java  && java Base64Tester
SmF2YSA4IEJhc2U2NCDnvJbnoIHop6PnoIEgLSBKYXZhOOaWsOeJueaApyAtIOeugOWNleaVmeeoiw==
赞(0) 打赏
版权归原创作者所有,任何形式转载请联系我们:大白菜博客 » 5-2、Java java.util.Base64.Encoder 类

评论 抢沙发

1 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏