UTF7Encoding クラス
Unicode 文字の UTF-7 エンコーディングを表します。
この型のすべてのメンバの一覧については、UTF7Encoding メンバ を参照してください。
System.Object
System.Text.Encoding
System.Text.UTF7Encoding
<Serializable>
Public Class UTF7Encoding Inherits Encoding
[C#]
[Serializable]
public class UTF7Encoding : Encoding
[C++]
[Serializable]
public __gc class UTF7Encoding : public Encoding
[JScript]
public
Serializable
class UTF7Encoding extends Encoding
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
このクラスは、UTF-7 (UCS Transformation Format、7 ビット形式) を使用して Unicode 文字をエンコードします。このエンコーディングは、すべての Unicode 文字値をサポートしています。サロゲート ペアは、2 つの別個のサロゲート コード ポイントとしてエンコードされます。
UTF-7 エンコーディングは、初め US-ASCII に最適化された電子メール システムを通じて、Unicode 文字を効率的に送信するために開発されました。
このクラスには、バイトの配列をデコードした結果取得される Unicode 文字の数を報告する GetCharCount メソッド、および実際にバイトの配列をデコードする GetChars メソッドが含まれています。 GetByteCount メソッドは、Unicode 文字の配列をエンコードした結果取得されるバイト数を報告し、 GetBytes メソッドは、実際に文字をバイトの配列にエンコードします。
GetDecoder メソッドは、UTF-7 でエンコードされたバイトを Unicode 文字に変換 (デコード) するオブジェクトを取得し、 GetEncoder メソッドは、Unicode 文字を UTF-7 でエンコードされたバイトに変換 (エンコード) するオブジェクトを取得します。
このクラスは Encoding クラスから継承します。
使用例
[Visual Basic, C#, C++] UTF7Encoding を使用して、Unicode 文字列をエンコードしその結果をバイト配列 encodedBytes
に格納する方法を次の例に示します。 encodedBytes
を文字列にデコードしても、データの損失は発生しません。
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
[C#]
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);
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
// Create a UTF-7 encoding.
UTF7Encoding* utf7 = new UTF7Encoding();
// A Unicode string with two characters outside a 7-bit code range.
String * unicodeString =
S"This Unicode string contains two characters with codes outside a 7-bit code range, Pi (\u03a0) and Sigma (\u03a3).";
Console::WriteLine(S"Original string:");
Console::WriteLine(unicodeString);
// Encode the string.
Byte encodedBytes[] = utf7 -> GetBytes(unicodeString);
Console::WriteLine();
Console::WriteLine(S"Encoded bytes:");
IEnumerator* myEnum = encodedBytes->GetEnumerator();
while (myEnum->MoveNext())
{
Byte b = *__try_cast<Byte __gc*>(myEnum->Current);
Console::Write(S"[{0}]", __box(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(S"Decoded bytes:");
Console::WriteLine(decodedString);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Text
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: Mscorlib (Mscorlib.dll 内)