UTF7Encoding.GetDecoder Methode

Definition

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

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

Gibt zurück

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

Beispiele

Im folgenden Codebeispiel wird die Verwendung der GetDecoder Methode zum Abrufen eines Decoders zum Konvertieren der UTF-7-codierten Bytes in eine Folge von Zeichen veranschaulicht.

using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        Char[] chars;
        Byte[] bytes = new Byte[] {
            99, 43, 65, 119, 67, 103, 111, 65, 45
        };

        Decoder utf7Decoder = Encoding.UTF7.GetDecoder();

        int charCount = utf7Decoder.GetCharCount(bytes, 0, bytes.Length);
        chars = new Char[charCount];
        int charsDecodedCount = utf7Decoder.GetChars(bytes, 0, bytes.Length, chars, 0);

        Console.WriteLine(
            "{0} characters used to decode bytes.", charsDecodedCount
        );

        Console.Write("Decoded chars: ");
        foreach (Char c in chars) {
            Console.Write("[{0}]", c);
        }
        Console.WriteLine();
    }
}
Imports System.Text

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        Dim chars() As Char
        Dim bytes() As Byte = {99, 43, 65, 119, 67, 103, 111, 65, 45}
        
        Dim utf7Decoder As Decoder = Encoding.UTF7.GetDecoder()
        
        Dim charCount As Integer = utf7Decoder.GetCharCount(bytes, 0, bytes.Length)
        chars = New Char(charCount - 1) {}
        Dim charsDecodedCount As Integer = utf7Decoder.GetChars(bytes, 0, bytes.Length, chars, 0)
        
        Console.WriteLine("{0} characters used to decode bytes.", charsDecodedCount)
        
        Console.Write("Decoded chars: ")
        Dim c As Char
        For Each c In  chars
            Console.Write("[{0}]", c)
        Next c
        Console.WriteLine()
    End Sub
End Class

Hinweise

Die Decoder.GetChars Methode konvertiert sequenzielle Byteblöcke in sequenzielle Zeichenblöcke, ähnlich der GetChars Methode dieser Klasse. 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