UTF7Encoding.GetEncoder Méthode

Définition

Obtient un encodeur qui convertit une séquence de caractères Unicode en une séquence codée en UTF-7 d’octets.

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

Retours

Qui Encoder convertit une séquence de caractères Unicode en séquence codée UTF-7 d’octets.

Exemples

L’exemple de code suivant montre comment utiliser la GetEncoder méthode pour obtenir un encodeur pour convertir une séquence de caractères en une séquence encodée UTF-7 d’octets.

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

Remarques

La Decoder.GetChars méthode convertit les blocs séquentiels d’octets en blocs séquentiels de caractères, de manière similaire à la GetChars méthode. Toutefois, une Decoder information d’état entre les appels permet de décoder correctement les séquences d’octets qui s’étendent sur des blocs. Il Decoder conserve également les octets de fin à la fin des blocs de données et utilise les octets de fin dans l’opération de décodage suivante. Par conséquent, GetDecoder et GetEncoder sont utiles pour les opérations de transmission et de fichier réseau, car ces opérations traitent souvent des blocs de données au lieu d’un flux de données complet.

S’applique à

Voir aussi