UTF7Encoding.GetEncoder メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As UTF7Encoding Dim returnValue As Encoder returnValue = instance.GetEncoder
Unicode 文字のシーケンスを UTF-7 でエンコードされたバイト シーケンスに変換する Encoder。

Decoder.GetChars メソッドは、このクラスの GetChars メソッドと同様の方法で、連続するバイト ブロックを連続する文字ブロックに変換します。ただし、Decoder では、ブロックにまたがるバイト シーケンスを正確にデコードできるように、呼び出し間のステータス情報を維持します。また、Decoder は、データ ブロックの末尾で後続バイトを保持し、その後続バイトを次のデコード操作に使用します。したがって、GetDecoder と GetEncoder は、ネットワーク伝送やファイル操作に役立ちます。これは、ネットワーク伝送やファイル操作では、完全なデータ ストリームではなくデータのブロックを処理することが多いためです。

次のコード例は、GetEncoder メソッドを使用して、文字シーケンスを UTF-7 でエンコードされたバイト シーケンスに変換するエンコーダを取得する方法を示しています。
Imports System Imports System.Text Imports Microsoft.VisualBasic.Strings Class UTF7EncodingExample Public Shared Sub Main() 'Characters: ' ChrW(97) = a ' ChrW(98) = b ' ChrW(99) = c ' ChrW(768) = ` ' ChrW(41120) = valid unicode code point, but not a character Dim chars() As Char = {ChrW(97), ChrW(98), ChrW(99), ChrW(768), ChrW(41120)} Dim bytes() As Byte Dim utf7Encoder As Encoder = Encoding.UTF7.GetEncoder() Dim byteCount As Integer = utf7Encoder.GetByteCount(chars, 2, 3, True) bytes = New Byte(byteCount - 1) {} Dim bytesEncodedCount As Integer = utf7Encoder.GetBytes(chars, 2, 3, bytes, 0, True) Console.WriteLine("{0} bytes used to encode characters.", bytesEncodedCount) Console.Write("Encoded bytes: ") Dim b As Byte For Each b In bytes Console.Write("[{0}]", b) Next b Console.WriteLine() End Sub 'Main End Class 'UTF7EncodingExample
using System; using System.Text; class UTF7EncodingExample { public static void Main() { Char[] chars = new Char[] {'a', 'b', 'c', '\u0300', '\ua0a0'}; Byte[] bytes; Encoder utf7Encoder = Encoding.UTF7.GetEncoder(); int byteCount = utf7Encoder.GetByteCount(chars, 2, 3, true); bytes = new Byte[byteCount]; int bytesEncodedCount = utf7Encoder.GetBytes(chars, 2, 3, bytes, 0, true); Console.WriteLine( "{0} bytes used to encode characters.", bytesEncodedCount ); Console.Write("Encoded bytes: "); foreach (Byte b in bytes) { Console.Write("[{0}]", b); } Console.WriteLine(); } }
using namespace System; using namespace System::Text; using namespace System::Collections; int main() { array<Char>^chars = {'a','b','c',L'\u0300',L'\ua0a0'}; array<Byte>^bytes; Encoder^ utf7Encoder = Encoding::UTF7->GetEncoder(); int byteCount = utf7Encoder->GetByteCount( chars, 2, 3, true ); bytes = gcnew array<Byte>(byteCount); int bytesEncodedCount = utf7Encoder->GetBytes( chars, 2, 3, bytes, 0, true ); Console::WriteLine( "{0} bytes used to encode characters.", bytesEncodedCount ); Console::Write( "Encoded bytes: " ); IEnumerator^ myEnum = bytes->GetEnumerator(); while ( myEnum->MoveNext() ) { Byte b = safe_cast<Byte>(myEnum->Current); Console::Write( "[{0}]", b ); } Console::WriteLine(); }
import System.*; import System.Text.*; class UTF7EncodingExample { public static void main(String[] args) { char chars[] = new char[] { 'a', 'b', 'c', '\u0300', '\ua0a0' }; ubyte bytes[]; Encoder utf7Encoder = Encoding.get_UTF7().GetEncoder(); int byteCount = utf7Encoder.GetByteCount(chars, 2, 3, true); bytes = new ubyte[byteCount]; int bytesEncodedCount = utf7Encoder.GetBytes(chars, 2, 3, bytes, 0, true); Console.WriteLine("{0} bytes used to encode characters.", String.valueOf(bytesEncodedCount)); Console.Write("Encoded bytes: "); for(int iCtr = 0; iCtr < bytes.length; iCtr++) { ubyte b = bytes[iCtr]; Console.Write("[{0}]", String.valueOf(b)); } Console.WriteLine(); } //main } //UTF7EncodingExample

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.GetEncoder メソッドのページへのリンク