CharsetDecoder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定の文字セット内のバイトシーケンスを 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
- 継承
- 属性
注釈
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。
"steps">
入力バイト シーケンスは、バイト バッファーまたはこのような一連のバッファーに用意されています。 出力文字シーケンスは、文字バッファーまたは一連のそのようなバッファーに書き込まれます。 デコーダーは、次の一連のメソッド呼び出し (以下、 デコード操作と呼びます) を行うことで、常に使用する必要があります。
<Ol>
<李>
以前に使用されていない場合を #reset reset
除き、 メソッドを使用してデコーダーをリセットします。
</李>
<李>
追加の入力を使用できる限り、メソッドを #decode decode
0 回以上呼び出し、引数をendOfInput
渡してfalse
入力バッファーを埋め、呼び出し間で出力バッファーをフラッシュします。
</李>
<李>
最後に 1 回メソッドを#decode decode
呼び出し、 引数をendOfInput
渡true
してから、
</李>
<李>
デコーダーが #flush flush
内部状態を出力バッファーにフラッシュできるように、 メソッドを呼び出します。
</李>
</Ol>
メソッドを #decode decode
呼び出すたびに、入力バッファーから可能な限り多くのバイトがデコードされ、結果の文字が出力バッファーに書き込まれます。 メソッドは #decode decode
、より多くの入力が必要な場合、出力バッファーに十分なスペースがない場合、またはデコード エラーが発生した場合に を返します。 いずれの場合も、 CoderResult
終了の理由を説明する オブジェクトが返されます。 呼び出し元は、このオブジェクトを調べて入力バッファーを埋めるか、出力バッファーをフラッシュするか、デコード エラーから回復を試みることができます。必要に応じて、もう一度やり直してください。
"ce">
デコード エラーには一般的な 2 種類があります。 入力バイト シーケンスがこの文字セットに対して有効でない場合、入力の形式が 正しくないと見なされます。 入力バイト シーケンスが有効だが、有効な Unicode 文字にマップできない場合は、 マップできない文字 が検出されました。
"cae">
デコード エラーの処理方法は、その種類のエラーに対して要求されたアクションによって異なります。これは、 クラスの CodingErrorAction
インスタンスによって記述されます。 考えられるエラー アクションは、CodingErrorAction#IGNORE が誤った入力を無視すること、CodingErrorAction#REPORT が返された CoderResult
オブジェクトを介して呼び出し元にエラーを報告すること、または CodingErrorAction#REPLACE によって誤った入力を置換文字列の現在の値に置き換える操作です。 置き換え
には初期値 "\uFFFD"
があります。
その値は、 メソッドを #replaceWith(java.lang.String) replaceWith
使用して変更できます。
不正な形式の入力エラーとマップできない文字エラーの既定のアクションは、CodingErrorAction#REPORT によって報告されます。 形式が正しくない入力エラー アクションは、 メソッドを #onMalformedInput(CodingErrorAction) onMalformedInput
使用して変更できます。アンマップ可能な文字アクションは、 メソッドを #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter
使用して変更できます。
このクラスは、エラー アクションの実装など、デコード プロセスの多くの詳細を処理するように設計されています。 このクラスの具象サブクラスである特定の文字セットのデコーダーは、基本的なデコード ループをカプセル化する抽象 #decodeLoop decodeLoop
メソッドのみを実装する必要があります。 内部状態を維持するサブクラスでは、 メソッドと #implReset implReset
メソッドをオーバーライド#implFlush implFlush
する必要があります。
このクラスのインスタンスは、複数の同時実行スレッドで使用しても安全ではありません。
1.4 で追加されました。
の java.nio.charset.CharsetDecoder
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
コンストラクター
CharsetDecoder(Charset, Single, Single) |
新しいデコーダーを初期化します。 |
CharsetDecoder(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsAutoDetecting |
このデコーダーが自動検出文字セットを実装するかどうかを示します。 |
IsCharsetDetected |
このデコーダーが nbsp; &文字セットをまだ検出しているかどうかを示します。(省略可能な操作)。 |
JniIdentityHashCode |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
JniPeerMembers |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 |
PeerReference |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
ThresholdClass |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
AverageCharsPerByte() |
入力のバイトごとに生成される平均文字数を返します。 |
Charset() |
このデコーダーを作成した文字セットを返します。 |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Decode(ByteBuffer) |
1 つの入力バイト バッファーの残りのコンテンツを新しく割り当てられた文字バッファーにデコードする便利なメソッド。 |
Decode(ByteBuffer, CharBuffer, Boolean) |
指定された入力バッファーから可能な限り多くのバイトをデコードし、結果を指定された出力バッファーに書き込みます。 |
DecodeLoop(ByteBuffer, CharBuffer) |
1 つ以上のバイトを 1 つ以上の文字にデコードします。 |
DetectedCharset() |
nbsp; &このデコーダーによって検出された文字セットを取得します。(省略可能な操作)。 |
Dispose() |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
Dispose(Boolean) |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
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) |
ToArray<T>() |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnmappableCharacterAction() |
マップできない文字エラーに対するこのデコーダーの現在のアクションを返します。 |
UnregisterFromRuntime() |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
IJavaPeerable.Finalized() |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
IJavaPeerable.JniManagedPeerState |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 (継承元 Object) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 |
GetJniTypeName(IJavaPeerable) |
特定の文字セット内のバイトシーケンスを 16 ビット Unicode 文字のシーケンスに変換できるエンジン。 |