言語

CharsetDecoder.DecodeLoop(ByteBuffer, CharBuffer) メソッド

定義

1 つ以上のバイトを 1 つ以上の文字にデコードします。

[Android.Runtime.Register("decodeLoop", "(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;", "GetDecodeLoop_Ljava_nio_ByteBuffer_Ljava_nio_CharBuffer_Handler")]
protected abstract Java.Nio.Charset.CoderResult? DecodeLoop(Java.Nio.ByteBuffer? in, Java.Nio.CharBuffer? out);
[<Android.Runtime.Register("decodeLoop", "(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;", "GetDecodeLoop_Ljava_nio_ByteBuffer_Ljava_nio_CharBuffer_Handler")>]
abstract member DecodeLoop : Java.Nio.ByteBuffer * Java.Nio.CharBuffer -> Java.Nio.Charset.CoderResult

パラメーター

in
ByteBuffer

入力バイト バッファー

out
CharBuffer

出力文字バッファー

返品

終了の理由を記述するコーダー結果オブジェクト

属性

注釈

1 つ以上のバイトを 1 つ以上の文字にデコードします。

このメソッドは、基本的なデコード ループをカプセル化し、入力が不足するか、出力バッファーの空き容量が不足するか、デコード エラーが発生するまで、できるだけ多くのバイトをデコードします。 このメソッドは、結果の解釈とエラーの回復を処理する #decode decode メソッドによって呼び出されます。

バッファーは、現在の位置から読み取られ、書き込まれます。 最大 Buffer#remaining in.remaining() バイトが読み取られ、最大 Buffer#remaining out.remaining() 文字が書き込まれます。 バッファーの位置は、読み取られたバイト数と書き込まれた文字を反映するように進められますが、それらのマークと制限は変更されません。

このメソッドは、CoderResult メソッドと同じ方法で、終了の理由を記述する#decode decode オブジェクトを返します。 このメソッドのほとんどの実装では、 #decode decode メソッドによる解釈に適した結果オブジェクトを返すことで、デコード エラーを処理します。 最適化された実装では、代わりに関連するエラー アクションを調べて、そのアクション自体を実装できます。

このメソッドの実装では、十分な入力を受け取るまで CoderResult#UNDERFLOW を返すことによって、任意の先読み処理を実行できます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象