CharsetEncoder.EncodeLoop(CharBuffer, ByteBuffer) メソッド

定義

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

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

パラメーター

in
CharBuffer

入力文字バッファー

out
ByteBuffer

出力バイト バッファー

戻り値

終了の理由を記述する coder-result オブジェクト

属性

注釈

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

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

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

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

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

java.nio.charset.CharsetEncoder.encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer)Java ドキュメント。

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

適用対象