Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft einen Encoder ab, der eine Unicode-Zeichenfolge in eine UTF-7-codierte Bytefolge konvertiert.
Namespace: System.Text
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function GetEncoder As Encoder
'Usage
Dim instance As UTF7Encoding
Dim returnValue As Encoder
returnValue = instance.GetEncoder
public override Encoder GetEncoder ()
public:
virtual Encoder^ GetEncoder () override
public Encoder GetEncoder ()
public override function GetEncoder () : Encoder
Rückgabewert
Ein Encoder, der eine Unicode-Zeichenfolge in eine UTF-7-codierte Bytefolge konvertiert.
Hinweise
Ähnlich wie die GetChars-Methode dieser Klasse konvertiert die Decoder.GetChars-Methode Blöcke von Bytefolgen in Blöcke von Zeichenfolgen. Ein Decoder behält jedoch die Zustandsinformationen zwischen Aufrufen bei, damit Blöcke umfassende Bytefolgen korrekt decodiert werden können. Der Decoder behält nachfolgende Bytes am Ende von Datenblöcken bei und verwendet sie im nächsten Decodierungsvorgang. Deshalb empfehlen sich GetDecoder und GetEncoder für Netzwerkübertragungs- und Dateivorgänge, da bei diesen Vorgängen oft Datenblöcke und keine vollständigen Datenstreams verwendet werden.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie mit der GetEncoder-Methode ein Encoder für die Konvertierung einer Folge von Zeichen in eine UTF-7-codierte Folge von Bytes abgerufen wird.
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
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
UTF7Encoding-Klasse
UTF7Encoding-Member
System.Text-Namespace
Encoder-Klasse
GetBytes
GetByteCount
GetDecoder