Module java.base
Package java.util

Class Base64.Encoder

java.lang.Object
java.util.Base64.Encoder
封装类:
Base64

public static class Base64.Encoder extends Object
该类实现了使用RFC 4648和RFC 2045中指定的Base64编码方案对字节数据进行编码的编码器。

Base64.Encoder类的实例可供多个并发线程使用。

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

如果无法分配所需大小的编码字节输出,则此类的编码方法将导致抛出OutOfMemoryError

自版本:
1.8
参见:
  • Method Details

    • encode

      public byte[] encode(byte[] src)
      使用Base64编码方案将指定的字节数组中的所有字节编码为新分配的字节数组。返回的字节数组的长度与结果字节的长度相同。
      参数:
      src - 要编码的字节数组
      返回:
      包含结果编码字节的新分配字节数组。
    • encode

      public int encode(byte[] src, byte[] dst)
      使用Base64编码方案对指定的字节数组中的所有字节进行编码,将结果字节写入给定的输出字节数组,从偏移量0开始。

      调用此方法的调用者有责任确保输出字节数组dst有足够的空间来编码来自输入字节数组的所有字节。如果输出字节数组不够大,则不会向输出字节数组写入任何字节。

      参数:
      src - 要编码的字节数组
      dst - 输出字节数组
      返回:
      写入到输出字节数组的字节数
      抛出:
      IllegalArgumentException - 如果dst没有足够的空间来编码所有输入字节。
    • encodeToString

      public String encodeToString(byte[] src)
      使用Base64编码方案将指定的字节数组编码为字符串。

      此方法首先将所有输入字节编码为Base64编码的字节数组,然后使用编码的字节数组和ISO-8859-1字符集构造一个新字符串。

      换句话说,调用此方法的效果与调用new String(encode(src), StandardCharsets.ISO_8859_1)完全相同。

      参数:
      src - 要编码的字节数组
      返回:
      包含结果Base64编码字符的字符串
    • encode

      public ByteBuffer encode(ByteBuffer buffer)
      将指定的字节缓冲区中的所有剩余字节使用Base64编码方案编码为新分配的ByteBuffer。返回时,源缓冲区的位置将更新为其限制;其限制不会被更改。返回的输出缓冲区的位置将为零,其限制将为生成的编码字节的数量。
      参数:
      buffer - 要编码的源ByteBuffer
      返回:
      包含编码字节的新分配的字节缓冲区。
    • wrap

      public OutputStream wrap(OutputStream os)
      包装一个输出流,用于使用Base64编码方案对字节数据进行编码。

      建议在使用后立即关闭返回的输出流,在此期间它将刷新所有可能剩余的字节到底层输出流。关闭返回的输出流将关闭底层输出流。

      参数:
      os - 输出流。
      返回:
      用于将字节数据编码为指定的Base64编码格式的输出流
    • withoutPadding

      public Base64.Encoder withoutPadding()
      返回一个编码器实例,其编码方式与此实例相同,但在编码的字节数据末尾不添加任何填充字符。

      此编码器实例的编码方案不受此调用的影响。应该使用返回的编码器实例进行无填充编码操作。

      返回:
      一个等效的编码器,编码时不在末尾添加任何填充字符