模块  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编码方案将指定的字节数组编码为String。

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

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

        参数
        src - 要编码的字节数组
        结果
        包含生成的Base64编码字符的String
      • encode

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

        public OutputStream wrap​(OutputStream os)
        使用Base64编码方案包装用于编码字节数据的输出流。

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

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

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

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

        结果
        一个等效的编码器,编码时不添加任何填充字符