public static class Base64.Decoder extends Object
Base64のパディング文字'='
はエンコードされたバイト・データの終わりとして受け入れられ、解釈されますが、必須ではありません。そのため、エンコードされたバイト・データの最終単位にBase64の文字が2つまたは3つしか含まれていない(対応するパディング文字が追加されていない状態で)場合、それらはパディング文字がその後に続くかのようにデコードされます。最終単位にパディング文字が含まれている場合は、正しい数のパディング文字が存在する必要があります。そうしないと、デコード中にIllegalArgumentException
(Base64ストリームからの読取り時はIOException
)がスローされます。
Base64.Decoder
クラスのインスタンスは、複数のスレッドで並行して使用できます。
特に指定がないかぎり、null
引数をこのクラスのメソッドに渡すと、NullPointerException
がスローされます。
Base64.Encoder
修飾子と型 | メソッドと説明 |
---|---|
byte[] |
decode(byte[] src)
Base64 エンコーディング・スキームを使用して入力バイト配列からのすべてのバイトをデコードし、その結果を新しく割り当てられた出力バイト配列に書き込みます。 |
int |
decode(byte[] src, byte[] dst)
Base64 エンコーディング・スキームを使用して入力バイト配列からのすべてのバイトをデコードし、その結果を指定された出力バイト配列のオフセット0から書き込みます。 |
ByteBuffer |
decode(ByteBuffer buffer)
Base64 エンコーディング・スキームを使用して入力バイト・バッファからのすべてのバイトをデコードし、その結果を新しく割り当てられたByteBufferに書き込みます。 |
byte[] |
decode(String src)
Base64 エンコーディング・スキームを使用して、Base64でエンコードされたStringをデコードし、新しく割り当てられたバイト配列に書き込みます。 |
InputStream |
wrap(InputStream is)
Base64 でエンコードされたバイト・ストリームをデコードするための入力ストリームを返します。 |
public byte[] decode(byte[] src)
Base64
エンコーディング・スキームを使用して入力バイト配列からのすべてのバイトをデコードし、その結果を新しく割り当てられた出力バイト配列に書き込みます。返されるバイト配列の長さは、結果となるバイトの長さになります。src
- デコードするバイト配列IllegalArgumentException
- src
が有効なBase64スキームになっていない場合public byte[] decode(String src)
Base64
エンコーディング・スキームを使用して、Base64でエンコードされたStringをデコードし、新しく割り当てられたバイト配列に書き込みます。
このメソッドの呼出しには、decode(src.getBytes(StandardCharsets.ISO_8859_1))
を呼び出すのとまったく同じ効果があります。
src
- デコードする文字列IllegalArgumentException
- src
が有効なBase64スキームになっていない場合public int decode(byte[] src, byte[] dst)
Base64
エンコーディング・スキームを使用して入力バイト配列からのすべてのバイトをデコードし、その結果を指定された出力バイト配列のオフセット0から書き込みます。
出力バイト配列dst
に、入力バイト配列からのすべてのバイトをデコードできるだけの十分な領域があることを確認するのは、このメソッドの呼出し側の責任です。出力バイト配列に十分な大きさがない場合、その出力バイト配列にバイトは書き込まれません。
入力バイト配列が有効なBase64エンコーディング・スキームになっていない場合は、IllegalargumentExceptionがスローされる前に一部のバイトが出力バイト配列に書き込まれる可能性があります。
src
- デコードするバイト配列dst
- 出力バイト配列IllegalArgumentException
- src
が有効なBase64スキームになっていないか、dst
に、すべての入力バイトをデコードできるだけの十分な領域がない場合。public ByteBuffer decode(ByteBuffer buffer)
Base64
エンコーディング・スキームを使用して入力バイト・バッファからのすべてのバイトをデコードし、その結果を新しく割り当てられたByteBufferに書き込みます。
復帰時に、ソース・バッファの位置はそのリミットに更新されますが、リミットは変更されません。返される出力バッファの位置はゼロになり、そのリミットは結果となるデコードされたバイトの数になります。
入力バッファが有効なBase64エンコーディング・スキームになっていない場合は、IllegalArgumentException
がスローされます。この場合、入力バッファの位置は進みません。
buffer
- デコードするByteBufferIllegalArgumentException
- src
が有効なBase64スキームになっていない場合。public InputStream wrap(InputStream is)
Base64
でエンコードされたバイト・ストリームをデコードするための入力ストリームを返します。
返されたInputStream
のread
メソッドは、デコードできないバイトの読取り時にIOException
をスローします。
返された入力ストリームを閉じると、ベースとなる入力ストリームが閉じます。
is
- 入力ストリーム バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.