W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---java.util.Base64.Decoder
public static class Base64.Decoder
extends Object
此類實(shí)現(xiàn)了一個(gè)解碼器,用于使用 RFC 4648 和 RFC 2045 中指定的 Base64 編碼方案來(lái)解碼字節(jié)數(shù)據(jù)。
Base64 填充字符 '=' 被接受并解釋為編碼字節(jié)數(shù)據(jù)的結(jié)尾,但不是必需的。 因此,如果編碼字節(jié)數(shù)據(jù)的最終單元只有兩個(gè)或三個(gè) Base64 字符(沒(méi)有填充相應(yīng)的填充字符),則它們將被解碼,就像后面跟著填充字符一樣。 如果最終單元中存在填充字符,則必須存在正確數(shù)量的填充字符,否則在解碼期間拋出 IllegalArgumentException(從 Base64 流中讀取時(shí)的 IOException)。
Decoder 類的實(shí)例可供多個(gè)并發(fā)線程安全使用。
除非另有說(shuō)明,否則將 null 參數(shù)傳遞給此類的方法將導(dǎo)致拋出 NullPointerException。
修飾符和類型 | 方法 | 描述 |
---|---|---|
byte[] | decode(byte[] src) | 使用 Base64 編碼方案解碼輸入字節(jié)數(shù)組中的所有字節(jié),將結(jié)果寫入新分配的輸出字節(jié)數(shù)組。 |
int | decode(byte[] src, byte[] dst) | 使用 Base64 編碼方案解碼輸入字節(jié)數(shù)組中的所有字節(jié),將結(jié)果寫入給定的輸出字節(jié)數(shù)組,從偏移量 0 開始。 |
byte[] | decode(String src) | 使用 Base64 編碼方案將 Base64 編碼的字符串解碼為新分配的字節(jié)數(shù)組。 |
ByteBuffer | decode(ByteBuffer buffer) | 使用 Base64 編碼方案對(duì)輸入字節(jié)緩沖區(qū)中的所有字節(jié)進(jìn)行解碼,并將結(jié)果寫入新分配的 ByteBuffer。 |
InputStream | wrap(InputStream is) | 返回用于解碼 Base64 編碼字節(jié)流的輸入流。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public byte[] decode(byte[] src)
使用 Base64 編碼方案解碼輸入字節(jié)數(shù)組中的所有字節(jié),將結(jié)果寫入新分配的輸出字節(jié)數(shù)組。 返回的字節(jié)數(shù)組是結(jié)果字節(jié)的長(zhǎng)度。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
src | 要解碼的字節(jié)數(shù)組 |
返回:
一個(gè)新分配的包含解碼字節(jié)的字節(jié)數(shù)組。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果 src 不在有效的 Base64 方案中 |
public byte[] decode(String src)
使用 Base64 編碼方案將 Base64 編碼的字符串解碼為新分配的字節(jié)數(shù)組。
調(diào)用此方法與調(diào)用 decode(src.getBytes(StandardCharsets.ISO_8859_1)) 的效果完全相同
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
src | 要解碼的字符串 |
返回:
一個(gè)新分配的包含解碼字節(jié)的字節(jié)數(shù)組。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果 src 不在有效的 Base64 方案中 |
public int decode(byte[] src, byte[] dst)
使用 Base64 編碼方案解碼輸入字節(jié)數(shù)組中的所有字節(jié),將結(jié)果寫入給定的輸出字節(jié)數(shù)組,從偏移量 0 開始。
此方法的調(diào)用者有責(zé)任確保輸出字節(jié)數(shù)組 dst 有足夠的空間來(lái)解碼輸入字節(jié)數(shù)組中的所有字節(jié)。 如果輸出字節(jié)數(shù)組不夠大,則不會(huì)將任何字節(jié)寫入輸出字節(jié)數(shù)組。
如果輸入字節(jié)數(shù)組不是有效的 Base64 編碼方案,那么在拋出 IllegalargumentException 之前,一些字節(jié)可能已寫入輸出字節(jié)數(shù)組。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
src | 要解碼的字節(jié)數(shù)組 |
dst | 輸出字節(jié)數(shù)組 |
返回:
寫入輸出字節(jié)數(shù)組的字節(jié)數(shù)
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果 src 不是有效的 Base64 方案,或者 dst 沒(méi)有足夠的空間來(lái)解碼所有輸入字節(jié)。 |
public ByteBuffer decode(ByteBuffer buffer)
使用 Base64 編碼方案對(duì)輸入字節(jié)緩沖區(qū)中的所有字節(jié)進(jìn)行解碼,并將結(jié)果寫入新分配的 ByteBuffer。
返回后,源緩沖區(qū)的位置將更新到其限制; 它的限制不會(huì)改變。 返回的輸出緩沖區(qū)的位置將為零,其限制將是生成的解碼字節(jié)數(shù)
如果輸入緩沖區(qū)不是有效的 Base64 編碼方案,則會(huì)引發(fā) IllegalArgumentException。 在這種情況下,輸入緩沖區(qū)的位置不會(huì)被提前。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
buffer | 要解碼的 ByteBuffer |
返回:
包含解碼字節(jié)的新分配字節(jié)緩沖區(qū)
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果 src 不在有效的 Base64 方案中。 |
public InputStream wrap(InputStream is)
返回用于解碼 Base64 編碼字節(jié)流的輸入流。
返回的 InputStream 的 read 方法在讀取無(wú)法解碼的字節(jié)時(shí)會(huì)拋出 IOException。
關(guān)閉返回的輸入流將關(guān)閉底層輸入流。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
is | 輸入流 |
返回:
用于解碼指定 Base64 編碼字節(jié)流的輸入流
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: