Charset クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。
[Android.Runtime.Register("java/nio/charset/Charset", DoNotGenerateAcw=true)]
public abstract class Charset : Java.Lang.Object, IDisposable, Java.Lang.IComparable
[<Android.Runtime.Register("java/nio/charset/Charset", DoNotGenerateAcw=true)>]
type Charset = class
inherit Object
interface IComparable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 継承
- 属性
- 実装
注釈
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 このクラスは、デコーダーとエンコーダーを作成し、文字セットに関連付けられているさまざまな名前を取得するためのメソッドを定義します。 このクラスのインスタンスは不変です。
このクラスでは、特定の文字セットがサポートされているかどうかをテストしたり、名前で文字セット インスタンスを検索したり、現在のJava仮想マシンでサポートを利用できるすべての文字セットを含むマップを構築したりするための静的メソッドも定義します。 新しい文字セットのサポートは、 java.nio.charset.spi.CharsetProvider クラスで定義されているサービス プロバイダー インターフェイスを使用して追加できます。
このクラスで定義されているすべてのメソッドは、複数の同時実行スレッドで安全に使用できます。
"charenc"><h2>Charset names</h2>
文字セットは、次の文字で構成される文字列によって名前が付けられます。
<ul>
<li> 大文字'A''Z' ('\u0041' '\u005a')
<li> 小文字'a''z' ('\u0061' '\u007a')
<li>'0' ('9'&'\u0030';'\u0039')
<li> ダッシュ文字 '-' ('\u002d',&<small>HYPHEN-MINUS</small>)
<li> 正符号文字 '+' ('\u002b',&<small>PLUS SIGN</small>)
<li> ピリオド文字 '.' ('\u002e',&<small>FULL STOP</small>)
<li> コロン文字 ':' ('\u003a',&<small>COLON</small>)、および
<li> アンダースコア文字 '_' ('\u005f',&<small>LOW LINE</small>)。
</ul>
文字セット名は、文字または数字で始まる必要があります。 空の文字列は有効な文字セット名ではありません。 文字セット名では大文字と小文字は区別されません。つまり、文字セット名を比較する場合、大文字と小文字は常に無視されます。 文字セット名は、一般に RFC に記載されている規則に従います。2278:>IANA 文字セット登録手順http://www.ietf.org/rfc/rfc2278.txt。
すべての文字セットには 正規名 があり、1 つ以上 のエイリアスを持つこともあります。 正規名は、このクラスの #name() name メソッドによって返されます。 正規名は、通常は大文字で表記されています。 文字セットのエイリアスは、 #aliases() aliases メソッドによって返されます。
"hn">一部の文字セットには、Java プラットフォームの以前のバージョンとの互換性のために定義された <i>historical name</i> があります。 文字セットの履歴名は、その正規名またはそのエイリアスのいずれかです。 履歴名は、getEncoding()クラスとjava.io.InputStreamReader#getEncoding InputStreamReader クラスのjava.io.OutputStreamWriter#getEncoding OutputStreamWriter メソッドによって返されます。
"iana">http://www.iana.org/assignments/character-sets にリストされている文字セットがJava プラットフォームの実装でサポートされている場合、その正規名はレジストリにリストされている名前である必要があります。 多くの文字セットにはレジストリに複数の名前が付けられます。その場合、レジストリはいずれかの名前を MIME 優先として識別します。 文字セットに複数のレジストリ名がある場合、その正規名は MIME 優先名にする必要があり、レジストリ内の他の名前は有効なエイリアスである必要があります。 サポートされている文字セットが IANA レジストリにリストされていない場合、その正規名は、 "X-" または "x-"のいずれかの文字列で始まる必要があります。
IANA 文字セット レジストリは時間の経過と同時に変化するため、特定の文字セットの正規名とエイリアスも時間の経過と同時に変化する可能性があります。 互換性を確保するために、文字セットからエイリアスを削除しないようにし、文字セットの正規名を変更した場合は、以前の正規名をエイリアスにすることをお勧めします。
<h2>Standard 文字セット</h2>
"standard">次の標準文字セットをサポートするには、Java プラットフォームの実装が必要です。 他の文字セットがサポートされているかどうかを確認するには、実装のリリース ドキュメントを参照してください。 このような省略可能な文字セットの動作は、実装によって異なる場合があります。
<blockquote><table class="striped" style="width:80%"><caption style="display:none">標準文字セットの説明</caption><thead><tr><th scope="col" style="text-align:left">Charset<><th scope="col" style="text-align:left">Description</th></tr></thead><tbody><tr><th scope="row" style="vertical-align:top">US-ASCII</th><td>Seven-bitASCII、a.k.a. ISO646-US、別名: Unicode 文字セットの Basic Latin ブロック</td></tr><tr><th scope="row" style="vertical-align:top">ISO-8859-1 </th><td>ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1</td></tr><tr><th scope="row" style="vertical-align:top">UTF-8</th><td>Eight-bit UCS Transformation Format</td ></tr><tr><th scope="row" style="vertical-align:top">UTF-16BE</th><td>Sixteen-bit UCS Transformation Format, big-endian byte order</td></tr><tr><th scope="row" style="vertical-align:top">UTF-16LE</th><td>Sixteen-bit UCS Transformation Format, little-endian byte order</td></tr><tr><th scope="row" style="vertical-align:top">UTF-16</th><td>Sixteen-bit UCS Transformation Format, byte 省略可能なバイトオーダー マーク</td></tr></tbody></table></blockquote で識別される順序>
UTF-8文字セットは RFC で指定されています。2279http://www.ietf.org/rfc/rfc2279.txt;基になっている変換形式は、修正 で指定されています。ISO の 2;10646-1 と Unicode 標準でも説明されていますhttp://www.unicode.org/unicode/standard/standard.html。
UTF-16文字セットは RFC で指定されています。2781http://www.ietf.org/rfc/rfc2781.txt;基になっている変換形式は、修正 で指定されています。ISO の 1;10646-1 と Unicode 標準でも説明されていますhttp://www.unicode.org/unicode/standard/standard.html。
UTF-16文字セットは 16 ビットの数量を使用するため、バイト順に依存します。 これらのエンコーディングでは、ストリームのバイトオーダーは、Unicode文字で表される初期'\uFEFF'によって示され得る。 バイトオーダー マークは次のように処理されます。
<ul>
<li>
デコード時に、 UTF-16BE および UTF-16LE 文字セットは、最初のバイトオーダー マークを <small>ZERO-WIDTH NON-BREAKING SPACE</small> として解釈します。エンコード時にバイトオーダー マークは書き込まれません。
</li>
<li>
デコード時に、 UTF-16 文字セットは、入力ストリームの先頭にあるバイトオーダー マークを解釈してストリームのバイトオーダーを示しますが、バイトオーダー マークがない場合は既定で big-endian に設定されます。エンコード時には、ビッグ エンディアンバイトオーダーを使用し、ビッグエンディアンバイトオーダーマークを書き込みます。
</li>
</ul>
いずれの場合も、入力シーケンスの最初の要素の後に発生するバイトオーダー マークは省略されません。これは、同じコードを使用して <small>ZERO-WIDTH NON-BREAKING SPACE</small> を表すためです。
Android ノート: Android プラットフォームの既定値は常に UTF-8 です。
StandardCharsets クラスは、標準文字セットごとに定数を定義します。
<h2>Terminology</h2>
このクラスの名前は、 RFC で使用される用語から取得されます。2278http://www.ietf.org/rfc/rfc2278.txt. そのドキュメントでは、 文字セット は、1 つ以上のコード化文字セットと文字エンコード スキームの組み合わせとして定義されています。 (この定義はわかりにくいです。一部のソフトウェア システムでは、 文字セット を コード化された文字セットのシノニムとして定義しています)。
コード化文字セットは、抽象文字のセットと整数のセットの間のマッピングです。 US-ASCII、ISO 8859-1, JIS X 0201 と Unicode は、コード化された文字セットの例です。
一部の標準では、割り当てられた番号付けのない抽象文字のセットとして 文字セット が定義されています。 アルファベットは、このような文字セットの例です。 ただし、文字セットとコード化文字セットの微妙な区別は、実際にはほとんど使用されません。前者は、Java API 仕様を含め、後者の短い形式になっています。
文字エンコード方式は、1 つ以上のコード化された文字セットとオクテット (8 ビット バイト) シーケンスのセットの間のマッピングです。 UTF-8、UTF-16、ISO 2022 年と EUC は文字エンコード スキームの例です。 エンコード スキームは、多くの場合、特定のコード化された文字セットに関連付けられます。たとえば、UTF-8 は Unicode のエンコードにのみ使用されます。 ただし、一部のスキームは複数のコード化文字セットに関連付けられています。たとえば、EUC を使用して、さまざまなアジアのコード化文字セット内の文字をエンコードできます。
コード化文字セットが単一の文字エンコード方式で排他的に使用される場合、通常、対応する文字セットにはコード化文字セットの名前が付けられます。それ以外の場合、文字セットは通常、エンコード スキームと、場合によってはサポートするコード化文字セットのロケールに名前が付けられます。 したがって、 US-ASCII は、コード化された文字セットの名前とエンコードする文字セットの両方であり、 EUC-JP は JIS をエンコードする文字セットの名前です。X 0201, JIS X 0208、JIS X 日本語の 0212 コード化文字セット。
Java プログラミング言語のネイティブ文字エンコードは UTF-16 です。 したがって、Java プラットフォームの文字セットは、16 ビット UTF-16 コード単位のシーケンス (つまり、文字のシーケンス) とバイトシーケンスの間のマッピングを定義します。
1.4 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| Charset(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
| Charset(String, String[]) |
指定された正規名とエイリアス セットを使用して、新しい文字セットを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| IsRegistered |
この文字セットが IANA 文字セット レジストリに登録されているかどうかを示します。 |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 (継承元 JavaObject) |
| JniPeerMembers |
このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
| 名前 | 説明 |
|---|---|
| Aliases() |
この文字セットのエイリアスを含むセットを返します。 |
| AvailableCharsets() |
標準の文字セット名から charset オブジェクトへの並べ替えられたマップを構築します。 |
| CanEncode() |
この文字セットがエンコードをサポートしているかどうかを示します。 |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| CompareTo(Charset) |
この文字セットを別の文字セットと比較します。 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 (継承元 JavaObject) |
| Contains(Charset) |
この文字セットに指定された文字セットが含まれているかどうかを示します。 |
| Decode(ByteBuffer) |
この文字セット内のバイトを Unicode 文字にデコードする便利なメソッド。 |
| DefaultCharset() |
このJava仮想マシンの既定の文字セットを返します。 |
| DisplayName() |
既定のロケールに対するこの文字セットの人間が判読できる名前を返します。 |
| DisplayName(Locale) |
指定されたロケールに対するこの文字セットの人間が判読できる名前を返します。 |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 (継承元 JavaObject) |
| Encode(CharBuffer) |
Unicode 文字をこの文字セット内のバイトにエンコードする便利なメソッド。 |
| Encode(String) |
この文字セット内のバイトに文字列をエンコードする便利なメソッド。 |
| Equals(Object) |
このオブジェクトが別のオブジェクトと等しいかどうかを示します。 |
| Equals(Object) |
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 (継承元 JavaObject) |
| ForName(String) |
名前付き文字セットの文字セット オブジェクトを返します。 |
| GetHashCode() |
この文字セットのハッシュコードを計算します。 |
| IsSupported(String) |
名前付き文字セットがサポートされているかどうかを示します。 |
| JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Name() |
この文字セットの正規名を返します。 |
| NewDecoder() |
この文字セットの新しいデコーダーを構築します。 |
| NewEncoder() |
この文字セットの新しいエンコーダーを構築します。 |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 (継承元 JavaObject) |
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToString() |
この文字セットを記述する文字列を返します。 |
| 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) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IComparable.CompareTo(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) |
| IJavaPeerable.UnregisterFromRuntime() |
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
16 ビット Unicode コード単位のシーケンスとバイト シーケンスの間の名前付きマッピング。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|