UTF7Encoding クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 を使用して Unicode 文字の文字列をエンコードし、バイト配列に格納する方法を示します。 バイト配列が文字列にデコードされると、データは失われないことに注意してください。
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 を優先する必要があります。
Note
UTF7Encoding はエラー検出を提供しません。 セキュリティ上の理由から、アプリケーションは UTF8Encoding、 UnicodeEncoding、または UTF32Encoding を使用し、エラー検出を有効にする必要があります。
System.Textでサポートされる UDF とその他のエンコードの詳細については、「.NET Framework での文字エンコード」を参照してください。
GetByteCountメソッドは、Unicode 文字のセットをエンコードする結果のバイト数を決定し、GetBytes メソッドは実際のエンコードを実行します。
同様に、 GetCharCount メソッドはバイト シーケンスをデコードする結果の文字数を決定し、 GetChars メソッドと GetString メソッドは実際のデコードを実行します。
UTF7Encodingは、Windows コード ページ 65000 に対応します。
Note
異なるバージョンの .NET Framework を使用してオブジェクトをシリアル化および逆シリアル化する場合、UTF-7 でエンコードされたオブジェクトの状態は保持されません。
コンストラクター
| 名前 | 説明 |
|---|---|
| UTF7Encoding() |
UTF7Encoding クラスの新しいインスタンスを初期化します。 |
| UTF7Encoding(Boolean) |
UTF7Encoding クラスの新しいインスタンスを初期化します。 パラメーターは、省略可能な文字を許可するかどうかを指定します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| BodyName |
派生クラスでオーバーライドされると、メール エージェントの本文タグで使用できる現在のエンコードの名前を取得します。 (継承元 Encoding) |
| CodePage |
派生クラスでオーバーライドされると、現在の Encodingのコード ページ識別子を取得します。 (継承元 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) に登録されている名前を取得します。 (継承元 Encoding) |
| WindowsCodePage |
派生クラスでオーバーライドされると、現在のエンコードに最も近い Windows オペレーティング システム コード ページを取得します。 (継承元 Encoding) |
メソッド
| 名前 | 説明 |
|---|---|
| Clone() |
派生クラスでオーバーライドされた場合は、現在の Encoding オブジェクトの簡易コピーを作成します。 (継承元 Encoding) |
| Equals(Object) |
指定したオブジェクトが現在の UTF7Encoding オブジェクトと等しいかどうかを示す値を取得します。 |
| Equals(Object) |
指定した Object が現在のインスタンスと等しいかどうかを判断します。 (継承元 Encoding) |
| GetByteCount(Char[], Int32, Int32) |
指定した文字配列から文字セットをエンコードすることによって生成されるバイト数を計算します。 |
| GetByteCount(Char[]) |
派生クラスでオーバーライドされた場合、指定した文字配列内のすべての文字をエンコードすることによって生成されるバイト数を計算します。 (継承元 Encoding) |
| GetByteCount(Char*, Int32) |
指定した文字ポインターから始まる一連の文字をエンコードすることによって生成されるバイト数を計算します。 |
| GetByteCount(ReadOnlySpan<Char>) |
派生クラスでオーバーライドされた場合、指定した文字スパンの文字をエンコードすることによって生成されるバイト数を計算します。 (継承元 Encoding) |
| GetByteCount(String, Int32, Int32) |
派生クラスでオーバーライドされると、指定した文字列から文字のセットをエンコードすることによって生成されるバイト数を計算します。 (継承元 Encoding) |
| GetByteCount(String) |
指定した String オブジェクト内の文字をエンコードすることによって生成されるバイト数を計算します。 |
| GetByteCount(String) |
派生クラスでオーバーライドされると、指定した文字列内の文字をエンコードすることによって生成されるバイト数を計算します。 (継承元 Encoding) |
| GetBytes(Char[], Int32, Int32, Byte[], Int32) |
指定した文字配列の文字セットを、指定したバイト配列にエンコードします。 |
| GetBytes(Char[], Int32, Int32) |
派生クラスでオーバーライドされると、指定した文字配列の文字セットをバイトシーケンスにエンコードします。 (継承元 Encoding) |
| GetBytes(Char[]) |
派生クラスでオーバーライドされると、指定した文字配列内のすべての文字をバイト シーケンスにエンコードします。 (継承元 Encoding) |
| GetBytes(Char*, Int32, Byte*, Int32) |
指定した文字ポインターから始まる一連の文字を、指定したバイト ポインターから始めて格納されるバイトシーケンスにエンコードします。 |
| GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
派生クラスでオーバーライドされると、指定した読み取り専用スパンの文字セットをバイトスパンにエンコードします。 (継承元 Encoding) |
| GetBytes(String, Int32, Int32, Byte[], Int32) |
指定した String の文字セットを、指定したバイト配列にエンコードします。 |
| GetBytes(String, Int32, Int32, Byte[], Int32) |
派生クラスでオーバーライドされると、指定した文字列から指定したバイト配列に一連の文字をエンコードします。 (継承元 Encoding) |
| GetBytes(String, Int32, Int32) |
派生クラスでオーバーライドされると、指定した |
| GetBytes(String) |
派生クラスでオーバーライドされると、指定した文字列内のすべての文字をバイト シーケンスにエンコードします。 (継承元 Encoding) |
| GetCharCount(Byte[], Int32, Int32) |
指定したバイト配列からバイト シーケンスをデコードすることによって生成される文字数を計算します。 |
| GetCharCount(Byte[]) |
派生クラスでオーバーライドされると、指定したバイト配列内のすべてのバイトをデコードすることによって生成される文字数を計算します。 (継承元 Encoding) |
| GetCharCount(Byte*, Int32) |
指定したバイト ポインターから始まるバイト シーケンスをデコードすることによって生成される文字数を計算します。 |
| GetCharCount(ReadOnlySpan<Byte>) |
派生クラスでオーバーライドされると、指定された読み取り専用バイト スパンをデコードすることによって生成される文字数を計算します。 (継承元 Encoding) |
| GetChars(Byte[], Int32, Int32, Char[], Int32) |
指定したバイト配列から指定した文字配列にバイト シーケンスをデコードします。 |
| GetChars(Byte[], Int32, Int32) |
派生クラスでオーバーライドされると、指定したバイト配列のバイト シーケンスを一連の文字にデコードします。 (継承元 Encoding) |
| GetChars(Byte[]) |
派生クラスでオーバーライドされると、指定したバイト配列内のすべてのバイトを一連の文字にデコードします。 (継承元 Encoding) |
| GetChars(Byte*, 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, Int32) |
バイト配列から文字列にバイト範囲をデコードします。 |
| GetString(Byte[], Int32, Int32) |
派生クラスでオーバーライドされると、指定したバイト配列のバイト シーケンスを文字列にデコードします。 (継承元 Encoding) |
| GetString(Byte[]) |
派生クラスでオーバーライドされると、指定したバイト配列内のすべてのバイトを文字列にデコードします。 (継承元 Encoding) |
| GetString(Byte*, Int32) |
派生クラスでオーバーライドされると、指定したアドレスから始まる指定したバイト数を文字列にデコードします。 (継承元 Encoding) |
| GetString(ReadOnlySpan<Byte>) |
派生クラスでオーバーライドされると、指定したバイト スパン内のすべてのバイトを文字列にデコードします。 (継承元 Encoding) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| IsAlwaysNormalized() |
既定の正規化形式を使用して、現在のエンコードが常に正規化されるかどうかを示す値を取得します。 (継承元 Encoding) |
| IsAlwaysNormalized(NormalizationForm) |
派生クラスでオーバーライドされると、指定された正規化形式を使用して、現在のエンコードが常に正規化されるかどうかを示す値を取得します。 (継承元 Encoding) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |