UTF7Encoding クラス
アセンブリ: mscorlib (mscorlib.dll 内)


エンコーディングは、Unicode 文字のセットをバイト シーケンスに変換するプロセスです。デコードはその逆になります。エンコードされたバイト シーケンスを Unicode 文字のセットに変換するプロセスです。
Unicode Standard では、サポートされるすべてのスクリプトについて、各文字にコード ポイント (数値) を割り当てています。コード ポイントのエンコードには UTF (Unicode Transformation Format) が使用されます。Unicode Standard バージョン 3.2 では、次の UTF が使用されています。
![]() |
---|
オブジェクトのシリアル化と逆シリアル化を行う際に使用した .NET Framework のバージョンが異なる場合、UTF-7 でエンコードされたオブジェクトの状態は保持されません。 |

次のコード例は、UTF7Encoding を使用して、Unicode 文字列をエンコードし、その結果をバイト配列に格納する方法を示しています。バイト配列を再度文字列にデコードしても、データの損失はありません。
Imports System 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
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); } }
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 ); }
import System.*; import System.Text.*; class UTF7EncodingExample { public static void main(String[] args) { // 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. ubyte encodedBytes[] = utf7.GetBytes(unicodeString); Console.WriteLine(); Console.WriteLine("Encoded bytes:"); for(int iCtr = 0; iCtr < encodedBytes.length; iCtr++) { ubyte b = encodedBytes[iCtr]; Console.Write("[{0}]", String.valueOf(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); } //main } //UTF7EncodingExample

System.Text.Encoding
System.Text.UTF7Encoding


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


UTF7Encoding コンストラクタ ()
アセンブリ: mscorlib (mscorlib.dll 内)


このコンストラクタは、省略可能な文字を許可しないインスタンスを作成します。UTF7Encoding コンストラクタを呼び出すことは、allowOptionals パラメータを受け取り、このパラメータに false を指定した System.Text.UTF7Encoding(Boolean) コンストラクタを呼び出すことと同じです。
インスタンスで省略可能な文字が許可されている場合、Unicode コード ポイントが、変更された Base64 文字ではなく、対応する省略可能な文字を使用してエンコードされます。省略可能な文字は、感嘆符 ("!")、バック スラッシュ ("\")、縦線 ("|")、二重引用符 (")、ナンバ記号 ("#")、ドル記号 ("$")、パーセント記号 ("%")、アンパサンド ("&")、アスタリスク ("*")、セミコロン (";")、左山かっこ ("<")、右山かっこ (">")、左中かっこ ("{")、右中かっこ ("}")、左角かっこ ("[")、右角かっこ ("]")、等号 ("=")、アット マーク ("@")、曲折アクセント ("^")、アンダースコア ("_")、および抑音アクセント ("`") です。
![]() |
---|
UTF7Encoding にはエラー検出機能が用意されていません。セキュリティ上の理由から、UTF8Encoding、UnicodeEncoding、または UTF32Encoding を使用し、エラー検出を有効にすることをお勧めします。 |

次のコード例は、新しい UTF7Encoding インスタンスを作成してエンコード名を表示する方法を示しています。
Imports System Imports System.Text Class UTF7EncodingExample Public Shared Sub Main() Dim utf7 As New UTF7Encoding() Dim encodingName As String = utf7.EncodingName Console.WriteLine("Encoding name: " & encodingName) End Sub 'Main End Class 'UTF7EncodingExample
using System; using System.Text; class UTF7EncodingExample { public static void Main() { UTF7Encoding utf7 = new UTF7Encoding(); String encodingName = utf7.EncodingName; Console.WriteLine("Encoding name: " + encodingName); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


UTF7Encoding コンストラクタ

名前 | 説明 |
---|---|
UTF7Encoding () | UTF7Encoding クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
UTF7Encoding (Boolean) | UTF7Encoding クラスの新しいインスタンスを初期化します。パラメータでは、省略可能な文字を許可するかどうかを指定します。 .NET Compact Framework によってサポートされています。 |

UTF7Encoding コンストラクタ (Boolean)
アセンブリ: mscorlib (mscorlib.dll 内)


インスタンスで省略可能な文字が許可されている場合、Unicode コード ポイントが、変更された Base64 文字ではなく、対応する省略可能な文字を使用してエンコードされます。省略可能な文字は、感嘆符 ("!")、バック スラッシュ ("\")、縦線 ("|")、二重引用符 (")、ナンバ記号 ("#")、ドル記号 ("$")、パーセント記号 ("%")、アンパサンド ("&")、アスタリスク ("*")、セミコロン (";")、左山かっこ ("<")、右山かっこ (">")、左中かっこ ("{")、右中かっこ ("}")、左角かっこ ("[")、右角かっこ ("]")、等号 ("=")、アット マーク ("@")、曲折アクセント ("^")、アンダースコア ("_")、および抑音アクセント ("`") です。
![]() |
---|
UTF7Encoding にはエラー検出機能が用意されていません。セキュリティ上の理由から、UTF8Encoding、UnicodeEncoding、または UTF32Encoding を使用し、エラー検出を有効にすることをお勧めします。 |

次のコード例は、省略可能な文字を許可する新しい UTF7Encoding インスタンスを作成する方法を示しています。
Imports System Imports System.Text Class UTF7EncodingExample Public Shared Sub Main() ' A few optional characters. Dim chars As String = "!@#$" ' The default Encoding does not allow optional characters. ' Alternate byte values are used. Dim utf7 As New UTF7Encoding() Dim bytes1 As Byte() = utf7.GetBytes(chars) Console.WriteLine("Default UTF7 Encoding:") ShowArray(bytes1) ' Convert back to characters. Console.WriteLine("Characters:") ShowArray(utf7.GetChars(bytes1)) ' Now, allow optional characters. ' Optional characters are encoded with their normal code points. Dim utf7AllowOptionals As New UTF7Encoding(True) Dim bytes2 As Byte() = utf7AllowOptionals.GetBytes(chars) Console.WriteLine("UTF7 Encoding with optional characters allowed:") ShowArray(bytes2) ' Convert back to characters. Console.WriteLine("Characters:") ShowArray(utf7AllowOptionals.GetChars(bytes2)) End Sub 'Main Public Shared Sub ShowArray(theArray As Array) Dim o As Object For Each o In theArray Console.Write("[{0}]", o) Next o Console.WriteLine() End Sub 'ShowArray End Class 'UTF7EncodingExample
using System; using System.Text; class UTF7EncodingExample { public static void Main() { // A few optional characters. string chars = "!@#$"; // The default Encoding does not allow optional characters. // Alternate byte values are used. UTF7Encoding utf7 = new UTF7Encoding(); Byte[] bytes1 = utf7.GetBytes(chars); Console.WriteLine("Default UTF7 Encoding:"); ShowArray(bytes1); // Convert back to characters. Console.WriteLine("Characters:"); ShowArray(utf7.GetChars(bytes1)); // Now, allow optional characters. // Optional characters are encoded with their normal code points. UTF7Encoding utf7AllowOptionals = new UTF7Encoding(true); Byte[] bytes2 = utf7AllowOptionals.GetBytes(chars); Console.WriteLine("UTF7 Encoding with optional characters allowed:"); ShowArray(bytes2); // Convert back to characters. Console.WriteLine("Characters:"); ShowArray(utf7AllowOptionals.GetChars(bytes2)); } public static void ShowArray(Array theArray) { foreach (Object o in theArray) { Console.Write("[{0}]", o); } Console.WriteLine(); } }
using namespace System; using namespace System::Text; using namespace System::Collections; void ShowArray( Array^ theArray ) { IEnumerator^ myEnum = theArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Object^ o = safe_cast<Object^>(myEnum->Current); Console::Write( "[{0}]", o ); } Console::WriteLine(); } int main() { // A few optional characters. String^ chars = "!@#$"; // The default Encoding does not allow optional characters. // Alternate Byte values are used. UTF7Encoding^ utf7 = gcnew UTF7Encoding; array<Byte>^bytes1 = utf7->GetBytes( chars ); Console::WriteLine( "Default UTF7 Encoding:" ); ShowArray( bytes1 ); // Convert back to characters. Console::WriteLine( "Characters:" ); ShowArray( utf7->GetChars( bytes1 ) ); // Now, allow optional characters. // Optional characters are encoded with their normal code points. UTF7Encoding^ utf7AllowOptionals = gcnew UTF7Encoding( true ); array<Byte>^bytes2 = utf7AllowOptionals->GetBytes( chars ); Console::WriteLine( "UTF7 Encoding with optional characters allowed:" ); ShowArray( bytes2 ); // Convert back to characters. Console::WriteLine( "Characters:" ); ShowArray( utf7AllowOptionals->GetChars( bytes2 ) ); }
import System.*; import System.Text.*; class EncodingExample { public static void main(String[] args) { // A few optional characters. String chars = "!@#$"; // The default Encoding does not allow optional characters. // Alternate byte values are used. UTF7Encoding utf7 = new UTF7Encoding(); ubyte bytes1[] = utf7.GetBytes(chars); Console.WriteLine("Default UTF7 Encoding:"); ShowArray(bytes1); // Convert back to characters. Console.WriteLine("Characters:"); ShowArray(utf7.GetChars(bytes1)); // Now, allow optional characters. // Optional characters are encoded with their normal code points. UTF7Encoding utf7AllowOptionals = new UTF7Encoding(true); ubyte bytes2[] = utf7AllowOptionals.GetBytes(chars); Console.WriteLine("UTF7 Encoding with optional characters allowed:"); ShowArray(bytes2); // Convert back to characters. Console.WriteLine("Characters:"); ShowArray(utf7AllowOptionals.GetChars(bytes2)); } //main public static void ShowArray(Array theArray) { Object obj = null; for(int iCtr = 0; iCtr < theArray.get_Length(); iCtr++) { obj = theArray.get_Item(iCtr); Console.Write("[{0}]", obj); } Console.WriteLine(); } //ShowArray } //EncodingExample

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


UTF7Encoding プロパティ


UTF7Encoding メソッド


名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

UTF7Encoding メンバ
Unicode 文字の UTF-7 エンコーディングを表します。
UTF7Encoding データ型で公開されるメンバを以下の表に示します。




名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- UTF7Encodingのページへのリンク