UTF7Encoding クラス

定義

Unicode 文字の UTF-7 エンコードを表します。

public ref class UTF7Encoding : System::Text::Encoding
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class UTF7Encoding : System.Text.Encoding
type UTF7Encoding = class
    inherit Encoding
[<System.Serializable>]
type UTF7Encoding = class
    inherit Encoding
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UTF7Encoding = class
    inherit Encoding
Public Class UTF7Encoding
Inherits Encoding
継承
UTF7Encoding
属性

次のコード例では、 を使用 UTF7Encoding して Unicode 文字の文字列をエンコードし、バイト配列に格納する方法を示します。 バイト配列が文字列にデコードされると、データは失われません。

using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
   
   // Create a UTF-7 encoding.
   UTF7Encoding^ utf7 = gcnew UTF7Encoding;
   
   // A Unicode string with two characters outside a 7-bit code range.
   String^ unicodeString = L"This Unicode string contains two characters with codes outside a 7-bit code range, Pi (\u03a0) and Sigma (\u03a3).";
   Console::WriteLine( "Original string:" );
   Console::WriteLine( unicodeString );
   
   // Encode the string.
   array<Byte>^encodedBytes = utf7->GetBytes( unicodeString );
   Console::WriteLine();
   Console::WriteLine( "Encoded bytes:" );
   IEnumerator^ myEnum = encodedBytes->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Byte b = safe_cast<Byte>(myEnum->Current);
      Console::Write( "[{0}]", b );
   }

   Console::WriteLine();
   
   // Decode bytes back to string.
   // Notice Pi and Sigma characters are still present.
   String^ decodedString = utf7->GetString( encodedBytes );
   Console::WriteLine();
   Console::WriteLine( "Decoded bytes:" );
   Console::WriteLine( decodedString );
}
using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        // Create a UTF-7 encoding.
        UTF7Encoding utf7 = new UTF7Encoding();
        
        // A Unicode string with two characters outside a 7-bit code range.
        String unicodeString =
            "This Unicode string contains two characters " +
            "with codes outside a 7-bit code range, " +
            "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        Byte[] encodedBytes = utf7.GetBytes(unicodeString);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        foreach (Byte b in encodedBytes) {
            Console.Write("[{0}]", b);
        }
        Console.WriteLine();
        
        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = utf7.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        ' Create a UTF-7 encoding.
        Dim utf7 As New UTF7Encoding()
        
        ' A Unicode string with two characters outside a 7-bit code range.
        Dim unicodeString As String = _
            "This Unicode string contains two characters " & _
            "with codes outside a 7-bit code range, " & _
            "Pi (" & ChrW(928) & ") and Sigma (" & ChrW(931) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(unicodeString)
        
        ' Encode the string.
        Dim encodedBytes As Byte() = utf7.GetBytes(unicodeString)
        Console.WriteLine()
        Console.WriteLine("Encoded bytes:")
        Dim b As Byte
        For Each b In  encodedBytes
            Console.Write("[{0}]", b)
        Next b
        Console.WriteLine()
        
        ' Decode bytes back to string.
        ' Notice Pi and Sigma characters are still present.
        Dim decodedString As String = utf7.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded bytes:")
        Console.WriteLine(decodedString)
    End Sub
End Class

注釈

エンコーディングは、Unicode 文字のセットをバイト シーケンスに変換するプロセスです。 デコードは、エンコードされたバイトのシーケンスを Unicode 文字のセットに変換するプロセスです。

UTF-7 エンコードは、Unicode 文字を 7 ビット ASCII 文字のシーケンスとして表します。 このエンコードでは、必要な特定のプロトコル (ほとんどの場合、電子メールまたはニュースグループ プロトコル) がサポートされています。 UTF-7 は特に安全でも堅牢でなく、最新のシステムでは 8 ビット エンコードが可能であるため、通常は UTF-7 より UTF-8 を優先する必要があります。

注意

UTF7Encoding はエラー検出を提供しません。 セキュリティ上の理由から、アプリケーションでは 、UnicodeEncoding、または UTF32Encoding を使用UTF8Encodingし、エラー検出を有効にする必要があります。

でサポートされている System.TextUDF とその他のエンコーディングの詳細については、.NET Frameworkの文字エンコードに関するページを参照してください。

メソッドによって、 GetByteCount Unicode 文字のセットをエンコードするバイト数が決定され、 GetBytes メソッドは実際のエンコーディングを実行します。

同様に、 メソッドは GetCharCount バイトシーケンスをデコードする結果の文字数を決定し、 メソッドと GetCharsGetString メソッドは実際のデコードを実行します。

UTF7Encoding は、Windows コード ページ 65000 に対応します。

注意

UTF-7 でエンコードされたオブジェクトの状態は、異なるバージョンの.NET Frameworkを使用してオブジェクトがシリアル化および逆シリアル化されている場合は保持されません。

コンストラクター

UTF7Encoding()
古い.

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

UTF7Encoding(Boolean)
古い.

UTF7Encoding クラスの新しいインスタンスを初期化します。 パラメーターでは、省略可能な文字を許可するかどうかを指定します。

プロパティ

BodyName

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

(継承元 Encoding)
CodePage

派生クラスでオーバーライドされた場合、現在の Encoding のコード ページ ID を取得します。

(継承元 Encoding)
DecoderFallback

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

(継承元 Encoding)
EncoderFallback

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

(継承元 Encoding)
EncodingName

派生クラスでオーバーライドされた場合、現在のエンコーディングについての記述を、ユーザーが判読できる形式で取得します。

(継承元 Encoding)
HeaderName

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

(継承元 Encoding)
IsBrowserDisplay

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

(継承元 Encoding)
IsBrowserSave

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

(継承元 Encoding)
IsMailNewsDisplay

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

(継承元 Encoding)
IsMailNewsSave

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

(継承元 Encoding)
IsReadOnly

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

(継承元 Encoding)
IsSingleByte

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

(継承元 Encoding)
Preamble

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

(継承元 Encoding)
WebName

派生クラスでオーバーライドされた場合、現在のエンコーディングの IANA (Internet Assigned Numbers Authority) に登録されている名前を取得します。

(継承元 Encoding)
WindowsCodePage

派生クラスでオーバーライドされた場合、現在のエンコーディングに最も厳密に対応する Windows オペレーティング システムのコード ページを取得します。

(継承元 Encoding)

メソッド

Clone()

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

(継承元 Encoding)
Equals(Object)

指定されたオブジェクトと現在の UTF7Encoding オブジェクトが等しいかどうかを示す値を取得します。

Equals(Object)

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

(継承元 Encoding)
GetByteCount(Char*, Int32)

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

GetByteCount(Char*, Int32)

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

(継承元 Encoding)
GetByteCount(Char[])

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

(継承元 Encoding)
GetByteCount(Char[], Int32, Int32)

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

GetByteCount(ReadOnlySpan<Char>)

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

(継承元 Encoding)
GetByteCount(String)

指定した String オブジェクト内の文字をエンコードすることによって生成されるバイト数を計算します。

GetByteCount(String)

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

(継承元 Encoding)
GetByteCount(String, Int32, Int32)

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

(継承元 Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

指定した文字ポインターで始まる文字のセットを、指定したバイト ポインターを開始位置として格納されるバイト シーケンスにエンコードします。

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

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

(継承元 Encoding)
GetBytes(Char[])

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

(継承元 Encoding)
GetBytes(Char[], Int32, Int32)

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

(継承元 Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

指定した文字配列に格納されている文字のセットを指定したバイト配列にエンコードします。

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

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

(継承元 Encoding)
GetBytes(String)

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

(継承元 Encoding)
GetBytes(String, Int32, Int32)

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

(継承元 Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

指定した String の文字セットを、指定したバイト配列にエンコードします。

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

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

(継承元 Encoding)
GetCharCount(Byte*, Int32)

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

GetCharCount(Byte*, Int32)

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

(継承元 Encoding)
GetCharCount(Byte[])

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

(継承元 Encoding)
GetCharCount(Byte[], Int32, Int32)

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

GetCharCount(ReadOnlySpan<Byte>)

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

(継承元 Encoding)
GetChars(Byte*, Int32, Char*, Int32)

指定したバイト ポインターで始まるバイト シーケンスを、指定した文字ポインターを開始位置として格納される文字のセットにデコードします。

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

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

(継承元 Encoding)
GetChars(Byte[])

派生クラスでオーバーライドされた場合、指定したバイト配列に格納されているすべてのバイトを文字のセットにデコードします。

(継承元 Encoding)
GetChars(Byte[], Int32, Int32)

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

(継承元 Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

指定したバイト配列に格納されているバイト シーケンスを指定した文字配列にデコードします。

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

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

(継承元 Encoding)
GetDecoder()

UTF-7 でエンコードされたバイト シーケンスを Unicode 文字のシーケンスに変換するデコーダーを取得します。

GetEncoder()

Unicode 文字のシーケンスを UTF-7 でエンコードされたバイト シーケンスに変換するエンコーダーを取得します。

GetHashCode()

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

GetHashCode()

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

(継承元 Encoding)
GetMaxByteCount(Int32)

指定した文字数をエンコードすることによって生成される最大バイト数を計算します。

GetMaxCharCount(Int32)

指定したバイト数をデコードすることによって生成される最大文字数を計算します。

GetPreamble()

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

(継承元 Encoding)
GetString(Byte*, Int32)

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

(継承元 Encoding)
GetString(Byte[])

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

(継承元 Encoding)
GetString(Byte[], Int32, Int32)

バイト配列に格納されているある範囲のバイトを文字列にデコードします。

GetString(Byte[], Int32, Int32)

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

(継承元 Encoding)
GetString(ReadOnlySpan<Byte>)

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

(継承元 Encoding)
GetType()

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

(継承元 Object)
IsAlwaysNormalized()

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

(継承元 Encoding)
IsAlwaysNormalized(NormalizationForm)

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

(継承元 Encoding)
MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

宛先が十分な大きさの場合は、指定した読み取り専用スパンから一連の文字をバイト範囲にエンコードします。

(継承元 Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

宛先が十分な大きさの場合は、指定した読み取り専用スパンからバイトセットを文字のスパンにデコードします。

(継承元 Encoding)

拡張メソッド

GetBytes(Encoding, ReadOnlySequence<Char>)

指定された Encoding を使用して、指定された ReadOnlySequence<T>Byte 配列にエンコードします。

GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>)

指定された Encoding を使用して指定された ReadOnlySequence<T>byte にデコードし、結果を writer に書き込みます。

GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>)

指定された Encoding を使用して指定された ReadOnlySequence<T>byte にエンコードし、結果を bytes に出力します。

GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>)

指定された Encoding を使用して指定された ReadOnlySpan<T>byte にエンコードし、結果を writer に書き込みます。

GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>)

指定された Encoding を使用して指定された ReadOnlySequence<T>char にデコードし、結果を writer に書き込みます。

GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>)

指定された Encoding を使用して指定された ReadOnlySequence<T>char にデコードし、結果を chars に出力します。

GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>)

指定された Encoding を使用して指定された ReadOnlySpan<T>char にデコードし、結果を writer に書き込みます。

GetString(Encoding, ReadOnlySequence<Byte>)

指定された Encoding を使用して、指定された ReadOnlySequence<T>String にデコードします。

適用対象

こちらもご覧ください