Module  java.base
软件包  java.util

Class Base64.Encoder

  • Enclosing class:
    Base64


    public static class Base64.Encoder
    extends Object
    该类使用RFC 4648和RFC 2045中规定的Base64编码方案来实现用于编码字节数据的编码器。

    Base64.Encoder类的实例可以安全地被多个并发线程使用。

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

    从以下版本开始:
    1.8
    另请参见:
    Base64.Decoder
    • 方法详细信息

      • 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​()
        返回一个编码器实例,编码器等效于此编码器实例,但不会在编码字节数据的末尾添加任何填充字符。

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

        结果
        一个等效编码器,编码而不会在末尾添加任何填充字符