java.lang.Object
java.util.Base64.Encoder
- 封装类:
-
Base64
该类实现了使用RFC 4648和RFC 2045中指定的Base64编码方案对字节数据进行编码的编码器。
Base64.Encoder
类的实例可供多个并发线程使用。
除非另有说明,否则将null
参数传递给此类的方法将导致抛出NullPointerException
。
如果无法分配所需大小的编码字节输出,则此类的编码方法将导致抛出OutOfMemoryError
。
- 自版本:
- 1.8
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
encode
(byte[] src) 将指定的字节数组中的所有字节使用Base64
编码方案编码为新分配的字节数组。int
encode
(byte[] src, byte[] dst) 使用Base64
编码方案对指定的字节数组中的所有字节进行编码,将结果字节写入给定的输出字节数组,从偏移量0开始。encode
(ByteBuffer buffer) 将指定的字节缓冲区中的所有剩余字节使用Base64
编码方案编码为新分配的ByteBuffer。encodeToString
(byte[] src) 使用Base64
编码方案将指定的字节数组编码为字符串。返回一个编码器实例,其编码方式与此实例相同,但在编码的字节数据末尾不添加任何填充字符。wrap
(OutputStream os) 包装一个输出流,用于使用Base64
编码方案对字节数据进行编码。
-
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
使用Base64
编码方案将指定的字节数组编码为字符串。此方法首先将所有输入字节编码为Base64编码的字节数组,然后使用编码的字节数组和
ISO-8859-1
字符集构造一个新字符串。换句话说,调用此方法的效果与调用
new String(encode(src), StandardCharsets.ISO_8859_1)
完全相同。- 参数:
-
src
- 要编码的字节数组 - 返回:
- 包含结果Base64编码字符的字符串
-
encode
将指定的字节缓冲区中的所有剩余字节使用Base64
编码方案编码为新分配的ByteBuffer。返回时,源缓冲区的位置将更新为其限制;其限制不会被更改。返回的输出缓冲区的位置将为零,其限制将为生成的编码字节的数量。- 参数:
-
buffer
- 要编码的源ByteBuffer - 返回:
- 包含编码字节的新分配的字节缓冲区。
-
wrap
包装一个输出流,用于使用Base64
编码方案对字节数据进行编码。建议在使用后立即关闭返回的输出流,在此期间它将刷新所有可能剩余的字节到底层输出流。关闭返回的输出流将关闭底层输出流。
- 参数:
-
os
- 输出流。 - 返回:
- 用于将字节数据编码为指定的Base64编码格式的输出流
-
withoutPadding
返回一个编码器实例,其编码方式与此实例相同,但在编码的字节数据末尾不添加任何填充字符。此编码器实例的编码方案不受此调用的影响。应该使用返回的编码器实例进行无填充编码操作。
- 返回:
- 一个等效的编码器,编码时不在末尾添加任何填充字符
-