言語

CharsetDecoder クラス

定義

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

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

注釈

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

"steps">

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

<ol>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

<li>

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

</li>

</ol>

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

"ce">

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

"cae">

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

は初期値 "&#92;uFFFD"

その値は、 #replaceWith(java.lang.String) replaceWith メソッドを使用して変更できます。

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

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

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

1.4 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
CharsetDecoder(Charset, Single, Single)

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

CharsetDecoder(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsAutoDetecting

このデコーダーが自動検出文字セットを実装するかどうかを示します。

IsCharsetDetected

このデコーダーが charset  をまだ検出しているかどうかを示します。 (省略可能な操作)

JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

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

(継承元 JavaObject)
JniPeerMembers

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

PeerReference

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

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
AverageCharsPerByte()

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

Charset()

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

Clone()

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

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

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

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

指定された入力バッファーから可能な限り多くのバイトをデコードし、指定された出力バッファーに結果を書き込みます。

Decode(ByteBuffer)

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

DecodeLoop(ByteBuffer, CharBuffer)

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

DetectedCharset()

このデコーダー によって検出された文字セットを取得します。 (省略可能な操作)

Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

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

(継承元 JavaObject)
Equals(Object)

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

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
Flush(CharBuffer)

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

GetHashCode()

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

(継承元 Object)
ImplFlush(CharBuffer)

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

ImplOnMalformedInput(CodingErrorAction)

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

ImplOnUnmappableCharacter(CodingErrorAction)

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

ImplReplaceWith(String)

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

ImplReset()

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

JavaFinalize()
古い.

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

(継承元 Object)
MalformedInputAction()

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

MaxCharsPerByte()

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

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
OnMalformedInput(CodingErrorAction)

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

OnUnmappableCharacter(CodingErrorAction)

このデコーダーのアクションを変更して、マップできない文字エラーを修正します。

Replacement()

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

ReplaceWith(String)

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

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側で有効であることを確認します。

適用対象