言語

CharsetEncoder クラス

定義

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

[Android.Runtime.Register("java/nio/charset/CharsetEncoder", DoNotGenerateAcw=true)]
public abstract class CharsetEncoder : Java.Lang.Object
[<Android.Runtime.Register("java/nio/charset/CharsetEncoder", DoNotGenerateAcw=true)>]
type CharsetEncoder = class
    inherit Object
継承
CharsetEncoder
属性

注釈

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

"steps">

入力文字シーケンスは、文字バッファーまたはそのような一連のバッファーで提供されます。 出力バイト シーケンスは、バイト バッファーまたはそのような一連のバッファーに書き込まれます。 エンコーダーは常に、次の一連のメソッド呼び出し (以下、 エンコード操作と呼びます) を行うことによって使用する必要があります。

<ol>

<li>

以前に使用されていない場合を除き、 #reset reset メソッドを使用してエンコーダーをリセットします。

</li>

<li>

追加の入力を使用できる限り、#encode encodeメソッドを 0 回以上呼び出し、false引数にendOfInputを渡し、入力バッファーを入力し、呼び出し間で出力バッファーをフラッシュします。

</li>

<li>

最後に #encode encode メソッドを呼び出し、true引数のendOfInputを渡します。

</li>

<li>

エンコーダーが任意の内部状態を出力バッファーにフラッシュできるように、 #flush flush メソッドを呼び出します。

</li>

</ol>

#encode encode メソッドを呼び出すたびに、入力バッファーからできるだけ多くの文字がエンコードされ、結果のバイトが出力バッファーに書き込まれます。 #encode encode メソッドは、より多くの入力が必要な場合、出力バッファーに十分な空き容量がない場合、またはエンコード エラーが発生した場合に返されます。 いずれの場合も、終了の理由を説明するために CoderResult オブジェクトが返されます。 呼び出し側は、このオブジェクトを調べて入力バッファーに入力したり、出力バッファーをフラッシュしたり、必要に応じてエンコード エラーからの回復を試みたりして、やり直すことができます。

"ce">

エンコード エラーには、一般的に 2 種類あります。 入力文字シーケンスが有効な 16 ビット Unicode シーケンスでない場合、入力の 形式が正しくないと見なされます。 入力文字シーケンスが有効であっても、指定された文字セット内の有効なバイト シーケンスにマップできない場合は、 マップできない文字 が見つかりました。

"cae">

エンコード エラーの処理方法は、その種類のエラーに対して要求されたアクションによって異なります。これは、 CodingErrorAction クラスのインスタンスによって記述されます。 考えられるエラー アクションは、CodingErrorAction#IGNORE が誤った入力を無視し、CodingErrorAction#REPORT が返された CoderResult オブジェクトを介して呼び出し元にエラーを報告するか、エラー入力を置換バイト配列の現在の値に置き換えます。 置き換え

は、最初はエンコーダーの既定の置換に設定されます。多くの場合 (ただし、常にではありません) には初期値 {>(byte)'?'>};

その値は、 #replaceWith(byte[]) replaceWith メソッドを使用して変更できます。

形式が正しくない入力エラーとマップできない文字エラーの既定のアクションは、CodingErrorAction#REPORT によって報告されます。 形式が正しくない入力エラー アクションは、 #onMalformedInput(CodingErrorAction) onMalformedInput メソッドを使用して変更できます。 #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter メソッドを使用して、変更できない文字アクションを変更できます。

このクラスは、エラー アクションの実装など、エンコード プロセスの多くの詳細を処理するように設計されています。 このクラスの具象サブクラスである特定の文字セットのエンコーダーは、基本的なエンコード ループをカプセル化する抽象 #encodeLoop encodeLoop メソッドのみを実装する必要があります。 さらに、内部状態を維持するサブクラスは、 #implFlush implFlush メソッドと #implReset implReset メソッドをオーバーライドする必要があります。

このクラスのインスタンスは、複数の同時実行スレッドで使用しても安全ではありません。

1.4 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
CharsetEncoder(Charset, Single, Single, Byte[])

新しいエンコーダーを初期化します。

CharsetEncoder(Charset, Single, Single)

新しいエンコーダーを初期化します。

CharsetEncoder(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
JniPeerMembers

このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
AverageBytesPerChar()

入力の各文字に対して生成される平均バイト数を返します。

CanEncode(Char)

このエンコーダーが指定された文字をエンコードできるかどうかを示します。

CanEncode(ICharSequence)

このエンコーダーが指定された文字シーケンスをエンコードできるかどうかを示します。

CanEncode(String)

このエンコーダーが指定された文字シーケンスをエンコードできるかどうかを示します。

Charset()

このエンコーダーを作成した文字セットを返します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
Encode(CharBuffer, ByteBuffer, Boolean)

指定された入力バッファーからできるだけ多くの文字をエンコードし、指定された出力バッファーに結果を書き込みます。

Encode(CharBuffer)

1 つの入力文字バッファーの残りのコンテンツを新しく割り当てられたバイト バッファーにエンコードする便利なメソッド。

EncodeLoop(CharBuffer, ByteBuffer)

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

Equals(Object)

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Flush(ByteBuffer)

このエンコーダーをフラッシュします。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
ImplFlush(ByteBuffer)

このエンコーダーをフラッシュします。

ImplOnMalformedInput(CodingErrorAction)

このエンコーダーの不正な入力アクションに対する変更を報告します。

ImplOnUnmappableCharacter(CodingErrorAction)

このエンコーダーのアンマッピング文字アクションに対する変更を報告します。

ImplReplaceWith(Byte[])

このエンコーダーの置換値の変更を報告します。

ImplReset()

このエンコーダーをリセットし、文字セット固有の内部状態をクリアします。

IsLegalReplacement(Byte[])

指定されたバイト配列がこのエンコーダーの有効な置換値であるかどうかを示します。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
MalformedInputAction()

形式が正しくない入力エラーに対するこのエンコーダーの現在のアクションを返します。

MaxBytesPerChar()

入力の各文字に対して生成される最大バイト数を返します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
OnMalformedInput(CodingErrorAction)

形式が正しくない入力エラーに対するこのエンコーダーのアクションを変更します。

OnUnmappableCharacter(CodingErrorAction)

マップできない文字エラーに対するこのエンコーダーのアクションを変更します。

Replacement()

このエンコーダーの置換値を返します。

ReplaceWith(Byte[])

このエンコーダーの置換値を変更します。

Reset()

このエンコーダーをリセットし、内部状態をクリアします。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnmappableCharacterAction()

マップできない文字エラーに対するこのエンコーダーの現在のアクションを返します。

UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
IJavaPeerable.Finalized()

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象