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>
<李>
以前に使用されていない場合を #reset reset
除き、 メソッドを使用してエンコーダーをリセットします。
</李>
<李>
追加の入力を使用できる限り、メソッドを #encode encode
0 回以上呼び出し、引数をendOfInput
渡しfalse
、入力バッファーを入力し、呼び出し間で出力バッファーをフラッシュします。
</李>
<李>
メソッドを最後に #encode encode
1 回呼び出し、 引数を渡し、次に endOfInput
を渡true
します。
</李>
<李>
エンコーダーが #flush flush
内部状態を出力バッファーにフラッシュできるように、 メソッドを呼び出します。
</李>
</Ol>
メソッドを #encode encode
呼び出すたびに、入力バッファーから可能な限り多くの文字がエンコードされ、結果のバイトが出力バッファーに書き込まれます。 メソッドは #encode encode
、より多くの入力が必要な場合、出力バッファーに十分な空きがない場合、またはエンコード エラーが発生した場合に を返します。 いずれの場合も、 CoderResult
終了の理由を説明する オブジェクトが返されます。 呼び出し元は、このオブジェクトを調べて入力バッファーに入力したり、出力バッファーをフラッシュしたり、必要に応じてエンコード エラーからの回復を試みたりして、やり直すことができます。
"ce">
エンコード エラーには、一般的な 2 種類があります。 入力文字シーケンスが有効な 16 ビット Unicode シーケンスでない場合、入力の 形式が正しくないと見なされます。 入力文字シーケンスが有効であるが、指定された文字セット内の有効なバイト シーケンスにマップできない場合は、 マップできない文字 が検出されました。
"cae">
エンコード エラーの処理方法は、その種類のエラーに対して要求されたアクションによって異なります。これは、 クラスの CodingErrorAction
インスタンスによって記述されます。 考えられるエラー アクションは、CodingErrorAction#IGNORE が誤った入力を無視すること、CodingErrorAction#REPORT が返された CoderResult
オブジェクトを介して呼び出し元にエラーを報告すること、または CodingErrorAction#REPLACE によって誤った入力を置換バイト配列の現在の値に置き換える操作です。 置き換え
は、最初はエンコーダーの既定の置換に設定されます。多くの場合 (ただし、常にではない) には nbsp&初期値があります。{
(byte)'?'
}
;
その値は メソッドを #replaceWith(byte[]) replaceWith
使用して変更できます。
不正な形式の入力エラーとマップできない文字エラーの既定のアクションは、CodingErrorAction#REPORT によってレポートされます。 形式が正しくない入力エラー アクションは、 メソッドを #onMalformedInput(CodingErrorAction) onMalformedInput
使用して変更できます。適用できない文字アクションは、 メソッドを #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter
使用して変更できます。
このクラスは、エラー アクションの実装など、エンコード プロセスの多くの詳細を処理するように設計されています。 このクラスの具象サブクラスである特定の文字セットのエンコーダーは、基本的なエンコード ループをカプセル化する抽象 #encodeLoop encodeLoop
メソッドのみを実装する必要があります。 内部状態を維持するサブクラスは、 メソッドと #implReset implReset
メソッドをオーバーライド#implFlush implFlush
する必要があります。
このクラスのインスタンスは、複数の同時実行スレッドで使用しても安全ではありません。
1.4 で追加されました。
の Java ドキュメント java.nio.charset.CharsetEncoder
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
CharsetEncoder(Charset, Single, Single) |
新しいエンコーダーを初期化します。 |
CharsetEncoder(Charset, Single, Single, Byte[]) |
新しいエンコーダーを初期化します。 |
CharsetEncoder(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
JniIdentityHashCode |
16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイトシーケンスに変換できるエンジン。 (継承元 Object) |
JniPeerMembers |
16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイトシーケンスに変換できるエンジン。 |
PeerReference |
16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイトシーケンスに変換できるエンジン。 (継承元 Object) |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 |
メソッド
AverageBytesPerChar() |
入力の各文字に対して生成される平均バイト数を返します。 |
CanEncode(Char) |
このエンコーダーが指定された文字をエンコードできるかどうかを示します。 |
CanEncode(ICharSequence) |
このエンコーダーが指定された文字シーケンスをエンコードできるかどうかを示します。 |
CanEncode(String) |
このエンコーダーが指定された文字シーケンスをエンコードできるかどうかを示します。 |
Charset() |
このエンコーダーを作成した文字セットを返します。 |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Dispose() |
16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイトシーケンスに変換できるエンジン。 (継承元 Object) |
Dispose(Boolean) |
16 ビット Unicode 文字のシーケンスを特定の文字セット内のバイトシーケンスに変換できるエンジン。 (継承元 Object) |
Encode(CharBuffer) |
1 つの入力文字バッファーの残りのコンテンツを新しく割り当てられたバイト バッファーにエンコードする便利なメソッド。 |
Encode(CharBuffer, ByteBuffer, Boolean) |
指定された入力バッファーから可能な限り多くの文字をエンコードし、指定された出力バッファーに結果を書き込みます。 |
EncodeLoop(CharBuffer, ByteBuffer) |
1 つ以上の文字を 1 つ以上のバイトにエンコードします。 |
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) |
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 文字のシーケンスを特定の文字セット内のバイトシーケンスに変換できるエンジン。 |