Encoding.UTF7 プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)


Unicode Standard では、サポートされるすべてのスクリプトについて、各文字にコード ポイント (数値) を割り当てています。コード ポイントのエンコードには UTF (Unicode Transformation Format) が使用されます。Unicode Standard バージョン 3.2 では、次の UTF が使用されています。

次のコード例は、文字列をストリームに書き込む前に、UTF-7 を使用してエンコードします。
Imports System Imports System.IO Imports System.Text Imports Microsoft.VisualBasic Namespace UTF7Example Public Class UTF7ExampleClass Public Shared Sub Main() Dim unicodeString As String = "This string contains the unicode character Pi(" & ChrW(&H03A0) & ")" ' Create a UTF7 encoding Dim utf7 As Encoding = Encoding.UTF7 ' Converting to UTF7 encodes characters so that they will pass through ' ASCII systems such as email. Dim utf7Writer As New StreamWriter("output.txt", False, utf7) utf7Writer.WriteLine(utf7.BodyName) utf7Writer.WriteLine(unicodeString) utf7Writer.Flush() utf7Writer.Close() End Sub End Class End Namespace
using System; using System.IO; using System.Text; namespace UTF7Example { public class UTF7ExampleClass { public static void Main() { string unicodeString = "This string contains the unicode character Pi(\u03a0)"; // Create a UTF7 encoding Encoding utf7 = Encoding.UTF7; // Converting to UTF7 encodes characters so that they will pass through // ASCII systems such as email. StreamWriter utf7Writer = new StreamWriter("output.txt", false, utf7); utf7Writer.WriteLine(utf7.BodyName); utf7Writer.WriteLine(unicodeString); utf7Writer.Flush(); utf7Writer.Close(); } } }
using namespace System; using namespace System::IO; using namespace System::Text; int main() { String^ unicodeString = "This string contains the unicode character Pi(\u03a0)"; // Create a UTF7 encoding Encoding^ utf7 = Encoding::UTF7; // Converting to UTF7 encodes characters so that they will pass through // ASCII systems such as email. StreamWriter^ utf7Writer = gcnew StreamWriter( "output.txt",false,utf7 ); utf7Writer->WriteLine( utf7->BodyName ); utf7Writer->WriteLine( unicodeString ); utf7Writer->Flush(); utf7Writer->Close(); }
package UTF7Example; import System.*; import System.IO.*; import System.Text.*; public class UTF7ExampleClass { public static void main(String[] args) { String unicodeString = "This string contains the unicode character Pi(\u03a0)"; // Create a UTF7 encoding Encoding utf7 = Encoding.get_UTF7(); // Converting to UTF7 encodes characters so that they will pass through // ASCII systems such as email. StreamWriter utf7Writer = new StreamWriter("output.txt", false, utf7); utf7Writer.WriteLine(utf7.get_BodyName()); utf7Writer.WriteLine(unicodeString); utf7Writer.Flush(); utf7Writer.Close(); } //main } //UTF7ExampleClass
次のコード例では、文字配列のエンコードに必要なバイト数を確認し、文字を実際にエンコードして、結果のバイトを表示します。
Imports System Imports System.Text Imports Microsoft.VisualBasic Public Class SamplesEncoding Public Shared Sub Main() ' The characters to encode: ' Latin Small Letter Z (U+007A) ' Latin Small Letter A (U+0061) ' Combining Breve (U+0306) ' Latin Small Letter AE With Acute (U+01FD) ' Greek Small Letter Beta (U+03B2) ' a high-surrogate value (U+D8FF) ' a low-surrogate value (U+DCFF) Dim myChars() As Char = {"z"c, "a"c, ChrW(&H0306), ChrW(&H01FD), ChrW(&H03B2), ChrW(&HD8FF), ChrW(&HDCFF)} ' Get different encodings. Dim u7 As Encoding = Encoding.UTF7 Dim u8 As Encoding = Encoding.UTF8 Dim u16LE As Encoding = Encoding.Unicode Dim u16BE As Encoding = Encoding.BigEndianUnicode Dim u32 As Encoding = Encoding.UTF32 ' Encode the entire array, and print out the counts and the resulting bytes. PrintCountsAndBytes(myChars, u7) PrintCountsAndBytes(myChars, u8) PrintCountsAndBytes(myChars, u16LE) PrintCountsAndBytes(myChars, u16BE) PrintCountsAndBytes(myChars, u32) End Sub 'Main Public Shared Sub PrintCountsAndBytes(chars() As Char, enc As Encoding) ' Display the name of the encoding used. Console.Write("{0,-30} :", enc.ToString()) ' Display the exact byte count. Dim iBC As Integer = enc.GetByteCount(chars) Console.Write(" {0,-3}", iBC) ' Display the maximum byte count. Dim iMBC As Integer = enc.GetMaxByteCount(chars.Length) Console.Write(" {0,-3} :", iMBC) ' Encode the array of chars. Dim bytes As Byte() = enc.GetBytes(chars) ' Display all the encoded bytes. PrintHexBytes(bytes) End Sub 'PrintCountsAndBytes Public Shared Sub PrintHexBytes(bytes() As Byte) If bytes Is Nothing OrElse bytes.Length = 0 Then Console.WriteLine("<none>") Else Dim i As Integer For i = 0 To bytes.Length - 1 Console.Write("{0:X2} ", bytes(i)) Next i Console.WriteLine() End If End Sub 'PrintHexBytes End Class 'SamplesEncoding 'This code produces the following output. ' 'System.Text.UTF7Encoding : 18 23 :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D 'System.Text.UTF8Encoding : 12 24 :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF 'System.Text.UnicodeEncoding : 14 16 :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC 'System.Text.UnicodeEncoding : 14 16 :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF 'System.Text.UTF32Encoding : 24 32 :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00
using System; using System.Text; public class SamplesEncoding { public static void Main() { // The characters to encode: // Latin Small Letter Z (U+007A) // Latin Small Letter A (U+0061) // Combining Breve (U+0306) // Latin Small Letter AE With Acute (U+01FD) // Greek Small Letter Beta (U+03B2) // a high-surrogate value (U+D8FF) // a low-surrogate value (U+DCFF) char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' }; // Get different encodings. Encoding u7 = Encoding.UTF7; Encoding u8 = Encoding.UTF8; Encoding u16LE = Encoding.Unicode; Encoding u16BE = Encoding.BigEndianUnicode; Encoding u32 = Encoding.UTF32; // Encode the entire array, and print out the counts and the resulting bytes. PrintCountsAndBytes( myChars, u7 ); PrintCountsAndBytes( myChars, u8 ); PrintCountsAndBytes( myChars, u16LE ); PrintCountsAndBytes( myChars, u16BE ); PrintCountsAndBytes( myChars, u32 ); } public static void PrintCountsAndBytes( char[] chars, Encoding enc ) { // Display the name of the encoding used. Console.Write( "{0,-30} :", enc.ToString() ); // Display the exact byte count. int iBC = enc.GetByteCount( chars ); Console.Write( " {0,-3}", iBC ); // Display the maximum byte count. int iMBC = enc.GetMaxByteCount( chars.Length ); Console.Write( " {0,-3} :", iMBC ); // Encode the array of chars. byte[] bytes = enc.GetBytes( chars ); // Display all the encoded bytes. PrintHexBytes( bytes ); } public static void PrintHexBytes( byte[] bytes ) { if (( bytes == null ) || ( bytes.Length == 0 )) Console.WriteLine( "<none>" ); else { for ( int i = 0; i < bytes.Length; i++ ) Console.Write( "{0:X2} ", bytes[i] ); Console.WriteLine(); } } } /* This code produces the following output. System.Text.UTF7Encoding : 18 23 :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D System.Text.UTF8Encoding : 12 24 :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF System.Text.UnicodeEncoding : 14 16 :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC System.Text.UnicodeEncoding : 14 16 :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF System.Text.UTF32Encoding : 24 32 :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00 */
using namespace System; using namespace System::Text; void PrintCountsAndBytes( array<Char>^chars, Encoding^ enc ); void PrintHexBytes( array<Byte>^bytes ); int main() { // The characters to encode: // Latin Small Letter Z (U+007A) // Latin Small Letter A (U+0061) // Combining Breve (U+0306) // Latin Small Letter AE With Acute (U+01FD) // Greek Small Letter Beta (U+03B2) // a high-surrogate value (U+D8FF) // a low-surrogate value (U+DCFF) array<Char>^myChars = gcnew array<Char>{ L'z','a',L'\u0306',L'\u01FD',L'\u03B2',L'\xD8FF',L'\xDCFF' }; // Get different encodings. Encoding^ u7 = Encoding::UTF7; Encoding^ u8 = Encoding::UTF8; Encoding^ u16LE = Encoding::Unicode; Encoding^ u16BE = Encoding::BigEndianUnicode; Encoding^ u32 = Encoding::UTF32; // Encode the entire array, and print out the counts and the resulting bytes. PrintCountsAndBytes( myChars, u7 ); PrintCountsAndBytes( myChars, u8 ); PrintCountsAndBytes( myChars, u16LE ); PrintCountsAndBytes( myChars, u16BE ); PrintCountsAndBytes( myChars, u32 ); } void PrintCountsAndBytes( array<Char>^chars, Encoding^ enc ) { // Display the name of the encoding used. Console::Write( "{0,-30} :", enc ); // Display the exact byte count. int iBC = enc->GetByteCount( chars ); Console::Write( " {0,-3}", iBC ); // Display the maximum byte count. int iMBC = enc->GetMaxByteCount( chars->Length ); Console::Write( " {0,-3} :", iMBC ); // Encode the array of chars. array<Byte>^bytes = enc->GetBytes( chars ); // Display all the encoded bytes. PrintHexBytes( bytes ); } void PrintHexBytes( array<Byte>^bytes ) { if ( (bytes == nullptr) || (bytes->Length == 0) ) Console::WriteLine( "<none>" ); else { for ( int i = 0; i < bytes->Length; i++ ) Console::Write( "{0:X2} ", bytes[ i ] ); Console::WriteLine(); } } /* This code produces the following output. System.Text.UTF7Encoding : 18 23 :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D System.Text.UTF8Encoding : 12 24 :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF System.Text.UnicodeEncoding : 14 16 :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC System.Text.UnicodeEncoding : 14 16 :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF System.Text.UTF32Encoding : 24 32 :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00 */
import System.*; import System.Text.*; import System.Byte; public class SamplesEncoding { public static void main(String[] args) { // The characters to encode: // Latin Small Letter Z (U+007A) // Latin Small Letter A (U+0061) // Combining Breve (U+0306) // Latin Small Letter AE With Acute (U+01FD) // Greek Small Letter Beta (U+03B2) // a high-surrogate value (U+D8FF) // a low-surrogate value (U+DCFF) char myChars[] = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' }; // Get different encodings. Encoding u7 = Encoding.get_UTF7(); Encoding u8 = Encoding.get_UTF8(); Encoding u16LE = Encoding.get_Unicode(); Encoding u16BE = Encoding.get_BigEndianUnicode(); Encoding u32 = Encoding.get_UTF32(); // Encode the entire array, and print out the counts // and the resulting bytes. PrintCountsAndBytes(myChars, u7); PrintCountsAndBytes(myChars, u8); PrintCountsAndBytes(myChars, u16LE); PrintCountsAndBytes(myChars, u16BE); PrintCountsAndBytes(myChars, u32); } //main public static void PrintCountsAndBytes(char chars[], Encoding enc) { // Display the name of the encoding used. Console.Write("{0,-30} :", enc.toString()); // Display the exact byte count. int iBC = enc.GetByteCount(chars); Console.Write(" {0,-3}", String.valueOf(iBC)); // Display the maximum byte count. int iMBC = enc.GetMaxByteCount(chars.length); Console.Write(" {0,-3} :", String.valueOf(iMBC)); // Encode the array of chars. ubyte bytes[] = enc.GetBytes(chars); // Display all the encoded bytes. PrintHexBytes(bytes); } //PrintCountsAndBytes public static void PrintHexBytes(ubyte bytes[]) { if(bytes == null || bytes.length == 0) { Console.WriteLine("<none>"); } else { for(int i = 0; i < bytes.length; i++) { Console.Write("{0:X2} ", ((System.Byte)bytes[i]).ToString("X2")); } Console.WriteLine(); } } //PrintHexBytes } //SamplesEncoding /* This code produces the following output. System.Text.UTF7Encoding : 18 23 :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D System.Text.UTF8Encoding : 12 24 :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF System.Text.UnicodeEncoding : 14 16 :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC System.Text.UnicodeEncoding : 14 16 :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF System.Text.UTF32Encoding : 24 32 :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00 */

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からEncoding.UTF7 プロパティを検索する場合は、下記のリンクをクリックしてください。

- Encoding.UTF7 プロパティのページへのリンク