Encoding クラス

定義

文字エンコードを表します。

public ref class Encoding abstract
public ref class Encoding abstract : ICloneable
public abstract class Encoding
[System.Serializable]
public abstract class Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Encoding : ICloneable
public abstract class Encoding : ICloneable
type Encoding = class
[<System.Serializable>]
type Encoding = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Encoding = class
    interface ICloneable
type Encoding = class
    interface ICloneable
Public MustInherit Class Encoding
Public MustInherit Class Encoding
Implements ICloneable
継承
Encoding
派生
属性
実装

次の例では、あるエンコードから別のエンコードに文字列を変換します。

Note

byte[]配列は、エンコードされたデータを含むこの例の唯一の型です。 .NET Char型と String 型はそれ自体が Unicode であるため、GetChars 呼び出しではデータが Unicode にデコードされます。

using System;
using System.Text;

class Example
{
   static void Main()
   {
      string unicodeString = "This string contains the unicode character Pi (\u03a0)";

      // Create two different encodings.
      Encoding ascii = Encoding.ASCII;
      Encoding unicode = Encoding.Unicode;

      // Convert the string into a byte array.
      byte[] unicodeBytes = unicode.GetBytes(unicodeString);

      // Perform the conversion from one encoding to the other.
      byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
         
      // Convert the new byte[] into a char[] and then into a string.
      char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
      string asciiString = new string(asciiChars);

      // Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString);
      Console.WriteLine("Ascii converted string: {0}", asciiString);
   }
}
// The example displays the following output:
//    Original string: This string contains the unicode character Pi (Π)
//    Ascii converted string: This string contains the unicode character Pi (?)
Imports System.Text

Class Example
   Shared Sub Main()
      Dim unicodeString As String = "This string contains the unicode character Pi (" & ChrW(&H03A0) & ")"

      ' Create two different encodings.
      Dim ascii As Encoding = Encoding.ASCII
      Dim unicode As Encoding = Encoding.Unicode

      ' Convert the string into a byte array.
      Dim unicodeBytes As Byte() = unicode.GetBytes(unicodeString)

      ' Perform the conversion from one encoding to the other.
      Dim asciiBytes As Byte() = Encoding.Convert(unicode, ascii, unicodeBytes)

      ' Convert the new byte array into a char array and then into a string.
      Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)-1) As Char
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
      Dim asciiString As New String(asciiChars)

      ' Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString)
      Console.WriteLine("Ascii converted string: {0}", asciiString)
   End Sub
End Class
' The example displays the following output:
'    Original string: This string contains the unicode character Pi (Π)
'    Ascii converted string: This string contains the unicode character Pi (?)

注釈

この API の詳細については、「 エンコードの補足 API 解説」を参照してください。

コンストラクター

名前 説明
Encoding()

Encoding クラスの新しいインスタンスを初期化します。

Encoding(Int32, EncoderFallback, DecoderFallback)

指定したエンコーダーとデコーダーフォールバック戦略を使用して、指定したコード ページに対応する Encoding クラスの新しいインスタンスを初期化します。

Encoding(Int32)

指定したコード ページに対応する Encoding クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
ASCII

ASCII (7 ビット) 文字セットのエンコードを取得します。

BigEndianUnicode

ビッグ エンディアン バイト順を使用する UTF-16 形式のエンコードを取得します。

BodyName

派生クラスでオーバーライドされると、メール エージェントの本文タグで使用できる現在のエンコードの名前を取得します。

CodePage

派生クラスでオーバーライドされると、現在の Encodingのコード ページ識別子を取得します。

DecoderFallback

現在のDecoderFallback オブジェクトのEncoding オブジェクトを取得または設定します。

Default

この .NET 実装の既定のエンコードを取得します。

EncoderFallback

現在のEncoderFallback オブジェクトのEncoding オブジェクトを取得または設定します。

EncodingName

派生クラスでオーバーライドされると、現在のエンコードの人間が判読できる説明を取得します。

HeaderName

派生クラスでオーバーライドされると、メール エージェントのヘッダー タグで使用できる現在のエンコードの名前を取得します。

IsBrowserDisplay

派生クラスでオーバーライドされると、現在のエンコードをブラウザー クライアントがコンテンツの表示に使用できるかどうかを示す値を取得します。

IsBrowserSave

派生クラスでオーバーライドされた場合、コンテンツを保存するためにブラウザー クライアントが現在のエンコードを使用できるかどうかを示す値を取得します。

IsMailNewsDisplay

派生クラスでオーバーライドされた場合、現在のエンコードをメールおよびニュース クライアントがコンテンツを表示するために使用できるかどうかを示す値を取得します。

IsMailNewsSave

派生クラスでオーバーライドされると、現在のエンコードをメールおよびニュース クライアントがコンテンツの保存に使用できるかどうかを示す値を取得します。

IsReadOnly

派生クラスでオーバーライドされると、現在のエンコードが読み取り専用かどうかを示す値を取得します。

IsSingleByte

派生クラスでオーバーライドされた場合、現在のエンコードで 1 バイト コード ポイントを使用するかどうかを示す値を取得します。

Preamble

派生クラスでオーバーライドされると、使用されるエンコードを指定するバイトシーケンスを含むスパンを返します。

Unicode

リトル エンディアン バイト順を使用して UTF-16 形式のエンコードを取得します。

UTF32

リトル エンディアン バイト順を使用して UTF-32 形式のエンコードを取得します。

UTF7

UTF-7 形式のエンコードを取得します。

UTF8

UTF-8 形式のエンコードを取得します。

WebName

派生クラスでオーバーライドされると、現在のエンコードのインターネット割り当て番号機関 (IANA) に登録されている名前を取得します。

WindowsCodePage

派生クラスでオーバーライドされると、現在のエンコードに最も近い Windows オペレーティング システム コード ページを取得します。

メソッド

名前 説明
Clone()

派生クラスでオーバーライドされた場合は、現在の Encoding オブジェクトの簡易コピーを作成します。

Convert(Encoding, Encoding, Byte[], Int32, Int32)

バイト配列内のバイト範囲をエンコード間で変換します。

Convert(Encoding, Encoding, Byte[])

バイト配列全体を 1 つのエンコードから別のエンコードに変換します。

Equals(Object)

指定した Object が現在のインスタンスと等しいかどうかを判断します。

GetByteCount(Char[], Int32, Int32)

派生クラスでオーバーライドされた場合、指定した文字配列から文字セットをエンコードすることによって生成されるバイト数を計算します。

GetByteCount(Char[])

派生クラスでオーバーライドされた場合、指定した文字配列内のすべての文字をエンコードすることによって生成されるバイト数を計算します。

GetByteCount(Char*, Int32)

派生クラスでオーバーライドされると、指定した文字ポインターから始まる文字のセットをエンコードすることによって生成されるバイト数を計算します。

GetByteCount(ReadOnlySpan<Char>)

派生クラスでオーバーライドされた場合、指定した文字スパンの文字をエンコードすることによって生成されるバイト数を計算します。

GetByteCount(String, Int32, Int32)

派生クラスでオーバーライドされると、指定した文字列から文字のセットをエンコードすることによって生成されるバイト数を計算します。

GetByteCount(String)

派生クラスでオーバーライドされると、指定した文字列内の文字をエンコードすることによって生成されるバイト数を計算します。

GetBytes(Char[], Int32, Int32, Byte[], Int32)

派生クラスでオーバーライドされると、指定した文字配列の文字セットを、指定したバイト配列にエンコードします。

GetBytes(Char[], Int32, Int32)

派生クラスでオーバーライドされると、指定した文字配列の文字セットをバイトシーケンスにエンコードします。

GetBytes(Char[])

派生クラスでオーバーライドされると、指定した文字配列内のすべての文字をバイト シーケンスにエンコードします。

GetBytes(Char*, Int32, Byte*, Int32)

派生クラスでオーバーライドされると、指定した文字ポインターから始まる一連の文字を、指定したバイト ポインターから始めて格納されるバイトシーケンスにエンコードします。

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

派生クラスでオーバーライドされると、指定した読み取り専用スパンの文字セットをバイトスパンにエンコードします。

GetBytes(String, Int32, Int32, Byte[], Int32)

派生クラスでオーバーライドされると、指定した文字列から指定したバイト配列に一連の文字をエンコードします。

GetBytes(String, Int32, Int32)

派生クラスでオーバーライドされると、指定したcountから始まる、指定した文字列内のindexで指定された文字数をバイト配列にエンコードします。

GetBytes(String)

派生クラスでオーバーライドされると、指定した文字列内のすべての文字をバイト シーケンスにエンコードします。

GetCharCount(Byte[], Int32, Int32)

派生クラスでオーバーライドされた場合、指定したバイト配列からバイト シーケンスをデコードすることによって生成される文字数を計算します。

GetCharCount(Byte[])

派生クラスでオーバーライドされると、指定したバイト配列内のすべてのバイトをデコードすることによって生成される文字数を計算します。

GetCharCount(Byte*, Int32)

派生クラスでオーバーライドされると、指定したバイト ポインターから始まるバイト シーケンスをデコードすることによって生成される文字数を計算します。

GetCharCount(ReadOnlySpan<Byte>)

派生クラスでオーバーライドされると、指定された読み取り専用バイト スパンをデコードすることによって生成される文字数を計算します。

GetChars(Byte[], Int32, Int32, Char[], Int32)

派生クラスでオーバーライドされると、指定したバイト配列から指定した文字配列にバイトシーケンスをデコードします。

GetChars(Byte[], Int32, Int32)

派生クラスでオーバーライドされると、指定したバイト配列のバイト シーケンスを一連の文字にデコードします。

GetChars(Byte[])

派生クラスでオーバーライドされると、指定したバイト配列内のすべてのバイトを一連の文字にデコードします。

GetChars(Byte*, Int32, Char*, Int32)

派生クラスでオーバーライドされると、指定したバイト ポインターから始まるバイトシーケンスを、指定した文字ポインターから始めて格納される文字のセットにデコードします。

GetChars(ReadOnlySpan<Byte>, Span<Char>)

派生クラスでオーバーライドされると、指定した読み取り専用バイト スパン内のすべてのバイトを文字スパンにデコードします。

GetDecoder()

派生クラスでオーバーライドされると、エンコードされたバイト シーケンスを文字シーケンスに変換するデコーダーを取得します。

GetEncoder()

派生クラスでオーバーライドされると、Unicode 文字のシーケンスをエンコードされたバイト シーケンスに変換するエンコーダーを取得します。

GetEncoding(Int32, EncoderFallback, DecoderFallback)

指定したコード ページ識別子に関連付けられているエンコードを返します。 パラメーターは、エンコードできない文字とデコードできないバイト シーケンスのエラー ハンドラーを指定します。

GetEncoding(Int32)

指定したコード ページ識別子に関連付けられているエンコードを返します。

GetEncoding(String, EncoderFallback, DecoderFallback)

指定したコード ページ名に関連付けられているエンコードを返します。 パラメーターは、エンコードできない文字とデコードできないバイト シーケンスのエラー ハンドラーを指定します。

GetEncoding(String)

指定したコード ページ名に関連付けられているエンコードを返します。

GetEncodings()

すべてのエンコーディングを含む配列を返します。

GetHashCode()

現在のインスタンスのハッシュ コードを返します。

GetMaxByteCount(Int32)

派生クラスでオーバーライドされた場合、指定した文字数をエンコードすることによって生成される最大バイト数を計算します。

GetMaxCharCount(Int32)

派生クラスでオーバーライドされた場合、指定したバイト数をデコードすることによって生成される最大文字数を計算します。

GetPreamble()

派生クラスでオーバーライドされると、使用されるエンコードを指定するバイト シーケンスを返します。

GetString(Byte[], Int32, Int32)

派生クラスでオーバーライドされると、指定したバイト配列のバイト シーケンスを文字列にデコードします。

GetString(Byte[])

派生クラスでオーバーライドされると、指定したバイト配列内のすべてのバイトを文字列にデコードします。

GetString(Byte*, Int32)

派生クラスでオーバーライドされると、指定したアドレスから始まる指定したバイト数を文字列にデコードします。

GetString(ReadOnlySpan<Byte>)

派生クラスでオーバーライドされると、指定したバイト スパン内のすべてのバイトを文字列にデコードします。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsAlwaysNormalized()

既定の正規化形式を使用して、現在のエンコードが常に正規化されるかどうかを示す値を取得します。

IsAlwaysNormalized(NormalizationForm)

派生クラスでオーバーライドされると、指定された正規化形式を使用して、現在のエンコードが常に正規化されるかどうかを示す値を取得します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
RegisterProvider(EncodingProvider)

エンコード プロバイダーを登録します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください