UTF7Encoding.GetEncoder Método

Definición

Obtiene un codificador que convierte una secuencia de caracteres Unicode en una secuencia codificada UTF-7 de bytes.

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

Devoluciones

que Encoder convierte una secuencia de caracteres Unicode en una secuencia codificada UTF-7 de bytes.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el GetEncoder método para obtener un codificador para convertir una secuencia de caracteres en una secuencia codificada UTF-7 de bytes.

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

Comentarios

El Decoder.GetChars método convierte bloques secuenciales de bytes en bloques secuenciales de caracteres, de forma similar al GetChars método . Sin embargo, un Decoder mantiene la información de estado entre las llamadas para que pueda descodificar correctamente las secuencias de bytes que abarcan bloques. Decoder También conserva los bytes finales al final de los bloques de datos y usa los bytes finales en la siguiente operación de descodificación. Por lo tanto, GetDecoder y GetEncoder son útiles para las operaciones de transmisión de red y archivos, ya que esas operaciones suelen tratar con bloques de datos en lugar de un flujo de datos completo.

Se aplica a

Consulte también