java.lang.Object
java.util.Base64.Decoder
- 封装类:
-
Base64
该类实现了一个解码器,用于使用在RFC 4648和RFC 2045中指定的Base64编码方案对字节数据进行解码。
Base64填充字符'='
被接受并解释为编码字节数据的结尾,但不是必需的。因此,如果编码字节数据的最终单元只有两个或三个Base64字符(没有相应的填充字符填充),则它们被解码为后跟填充字符。如果最终单元中存在填充字符,则必须存在正确数量的填充字符,否则在解码过程中将抛出IllegalArgumentException
(从Base64流中读取时为IOException
)。
Base64.Decoder类的实例可供多个并发线程安全使用。
除非另有说明,否则将null
参数传递给此类的方法将导致抛出NullPointerException
。
如果无法分配所需大小的解码后的字节输出,则此类的解码方法将导致抛出OutOfMemoryError
。
- 自版本:
- 1.8
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
decode
(byte[] src) 使用Base64编码方案解码输入字节数组中的所有字节,将结果写入新分配的输出字节数组中。int
decode
(byte[] src, byte[] dst) 使用Base64编码方案解码输入字节数组中的所有字节,将结果写入给定的输出字节数组中,从偏移量0开始。byte[]
使用Base64编码方案将Base64编码的字符串解码为新分配的字节数组。decode
(ByteBuffer buffer) 使用Base64编码方案解码输入字节缓冲区中的所有字节,将结果写入新分配的ByteBuffer中。wrap
(InputStream is) 返回一个用于解码Base64编码的字节流的输入流。
-
Method Details
-
decode
public byte[] decode(byte[] src) 使用Base64编码方案解码输入字节数组中的所有字节,将结果写入新分配的输出字节数组中。返回的字节数组的长度为结果字节的长度。- 参数:
-
src
- 要解码的字节数组 - 返回:
- 包含解码字节的新分配字节数组。
- 抛出:
-
IllegalArgumentException
- 如果src
不符合有效的Base64方案
-
decode
使用Base64编码方案将Base64编码的字符串解码为新分配的字节数组。调用此方法的效果与调用
decode(src.getBytes(StandardCharsets.ISO_8859_1))
相同- 参数:
-
src
- 要解码的字符串 - 返回:
- 包含解码字节的新分配字节数组。
- 抛出:
-
IllegalArgumentException
- 如果src
不符合有效的Base64方案
-
decode
public int decode(byte[] src, byte[] dst) 使用Base64编码方案解码输入字节数组中的所有字节,将结果写入给定的输出字节数组中,从偏移量0开始。调用此方法的调用者有责任确保输出字节数组
dst
有足够的空间来解码输入字节数组的所有字节。如果输出字节数组不够大,则不会将任何字节写入输出字节数组。如果输入字节数组不符合有效的Base64编码方案,则在抛出IllegalargumentException之前可能已将一些字节写入输出字节数组。
- 参数:
-
src
- 要解码的字节数组 -
dst
- 输出字节数组 - 返回:
- 写入输出字节数组的字节数
- 抛出:
-
IllegalArgumentException
- 如果src
不符合有效的Base64方案,或者dst
没有足够的空间来解码所有输入字节。
-
decode
使用Base64编码方案解码输入字节缓冲区中的所有字节,将结果写入新分配的ByteBuffer中。返回时,源缓冲区的位置将更新为其限制;其限制不会被更改。返回的输出缓冲区的位置将为零,其限制将为生成的解码字节的数量
如果输入缓冲区不符合有效的Base64编码方案,则将抛出
IllegalArgumentException
。在这种情况下,输入缓冲区的位置不会被提前。- 参数:
-
buffer
- 要解码的ByteBuffer - 返回:
- 包含解码字节的新分配ByteBuffer
- 抛出:
-
IllegalArgumentException
- 如果buffer
不符合有效的Base64方案
-
wrap
返回一个用于解码Base64编码的字节流的输入流。返回的
InputStream
的read
方法在读取无法解码的字节时将抛出IOException
。关闭返回的输入流将关闭底层输入流。
- 参数:
-
is
- 输入流 - 返回:
- 用于解码指定的Base64编码字节流的输入流
-