CharsetEncoder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 属性
注釈
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 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| CharsetEncoder(Charset, Single, Single, Byte[]) |
新しいエンコーダーを初期化します。 |
| CharsetEncoder(Charset, Single, Single) |
新しいエンコーダーを初期化します。 |
| CharsetEncoder(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| 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) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイト シーケンスに変換できるエンジン。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|