UTF7Encoding.GetEncoder Methode

Definition

Ruft einen Encoder ab, der eine Sequenz von Unicode-Zeichen in eine UTF-7-codierte Bytesequenz konvertiert.

public:
 override System::Text::Encoder ^ GetEncoder();
public override System.Text.Encoder GetEncoder();
override this.GetEncoder : unit -> System.Text.Encoder
Public Overrides Function GetEncoder () As Encoder

Gibt zurück

A Encoder that converts a sequence of Unicode characters into a UTF-7 encoded sequence of bytes.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der GetEncoder Methode zum Abrufen eines Encoders veranschaulicht, um eine Folge von Zeichen in eine UTF-7-codierte Bytesequenz zu konvertieren.

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();
    }
}
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
End Class

Hinweise

Die Decoder.GetChars Methode konvertiert sequenzielle Byteblöcke in sequenzielle Zeichenblöcke, ähnlich der GetChars Methode. Eine Decoder Zustandsinformationen werden jedoch zwischen Aufrufen beibehalten, sodass Bytesequenzen, die Blöcke umfassen, ordnungsgemäß decodiert werden können. Außerdem Decoder werden nachfolgende Bytes am Ende von Datenblöcken beibehalten und die nachfolgenden Bytes im nächsten Decodierungsvorgang verwendet. GetDecoder Daher sind sie GetEncoder nützlich für Die Netzwerkübertragung und Dateivorgänge, da diese Vorgänge häufig mit Datenblöcken statt mit einem vollständigen Datenstrom umgehen.

Gilt für:

Weitere Informationen