UTF32Encoding Classe

Definição

Representa uma codificação UTF-32 de caracteres Unicode.

public ref class UTF32Encoding sealed : System::Text::Encoding
public sealed class UTF32Encoding : System.Text.Encoding
[System.Serializable]
public sealed class UTF32Encoding : System.Text.Encoding
type UTF32Encoding = class
    inherit Encoding
[<System.Serializable>]
type UTF32Encoding = class
    inherit Encoding
Public NotInheritable Class UTF32Encoding
Inherits Encoding
Herança
UTF32Encoding
Atributos

Exemplos

O exemplo seguinte demonstra o comportamento de UTF32Encoding objetos com e sem deteção de erros ativada. Cria um array de bytes cujos últimos quatro bytes representam um par substituto inválido; o substituto alto U+D8FF é seguido por um U+01FF, que está fora do intervalo dos substitutos baixos (0xDC00 a 0xDFFF). Sem deteção de erros, o descodificador UTF32 usa um recurso de substituição para substituir o par substituto inválido por CARACTERE DE SUBSTITUIÇÃO (U+FFFD).

using System;
using System.Text;

public class Example
{
   public static void Main()
   {
     // Create a UTF32Encoding object with error detection enabled.
      var encExc = new UTF32Encoding(! BitConverter.IsLittleEndian, true, true);
      // Create a UTF32Encoding object with error detection disabled.
      var encRepl = new UTF32Encoding(! BitConverter.IsLittleEndian, true, false);

      // Create a byte arrays from a string, and add an invalid surrogate pair, as follows.
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    a high-surrogate value (U+D8FF)
      //    an invalid low surrogate (U+01FF)
      String s = "za\u0306\u01FD\u03B2";

      // Encode the string using little-endian byte order.
      int index = encExc.GetByteCount(s);
      Byte[] bytes = new Byte[index + 4];
      encExc.GetBytes(s, 0, s.Length, bytes, 0);
      bytes[index] = 0xFF;
      bytes[index + 1] = 0xD8;
      bytes[index + 2] = 0xFF;
      bytes[index + 3] = 0x01;

      // Decode the byte array with error detection.
      Console.WriteLine("Decoding with error detection:");
      PrintDecodedString(bytes, encExc);

      // Decode the byte array without error detection.
      Console.WriteLine("Decoding without error detection:");
      PrintDecodedString(bytes, encRepl);
   }

   // Decode the bytes and display the string.
   public static void PrintDecodedString(Byte[] bytes, Encoding enc)
   {
      try {
         Console.WriteLine("   Decoded string: {0}", enc.GetString(bytes, 0, bytes.Length));
      }
      catch (DecoderFallbackException e) {
         Console.WriteLine(e.ToString());
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//    Decoding with error detection:
//    System.Text.DecoderFallbackException: Unable to translate bytes [FF][D8][FF][01] at index
//    20 from specified code page to Unicode.
//       at System.Text.DecoderExceptionFallbackBuffer.Throw(Byte[] bytesUnknown, Int32 index)
//       at System.Text.DecoderExceptionFallbackBuffer.Fallback(Byte[] bytesUnknown, Int32 index
//    )
//       at System.Text.DecoderFallbackBuffer.InternalFallback(Byte[] bytes, Byte* pBytes)
//       at System.Text.UTF32Encoding.GetCharCount(Byte* bytes, Int32 count, DecoderNLS baseDeco
//    der)
//       at System.Text.UTF32Encoding.GetString(Byte[] bytes, Int32 index, Int32 count)
//       at Example.PrintDecodedString(Byte[] bytes, Encoding enc)
//
//    Decoding without error detection:
//       Decoded string: zăǽβ�
Imports System.Text

Public Module Example
   Public Sub Main()
      ' Create a UTF32Encoding object with error detection enabled.
      Dim encExc As New UTF32Encoding(Not BitConverter.IsLittleEndian, True, True)
      ' Create a UTF32Encoding object with error detection disabled.
      Dim encRepl As New UTF32Encoding(Not BitConverter.IsLittleEndian, True, False)

      ' Create a byte arrays from a string, and add an invalid surrogate pair, as follows.
      '    Latin Small Letter Z (U+007A)
      '    Latin Small Letter A (U+0061)
      '    Combining Breve (U+0306)
      '    Latin Small Letter AE With Acute (U+01FD)
      '    Greek Small Letter Beta (U+03B2)
      '    a high-surrogate value (U+D8FF)
      '    an invalid low surrogate (U+01FF)
      Dim s As String = "za" & ChrW(&H0306) & ChrW(&H01FD) & ChrW(&H03B2)

      ' Encode the string using little-endian byte order.
      Dim index As Integer = encExc.GetBytecount(s)
      Dim bytes(index + 3) As Byte
      encExc.GetBytes(s, 0, s.Length, bytes, 0)
      bytes(index) = &hFF
      bytes(index + 1) = &hD8
      bytes(index + 2) = &hFF
      bytes(index + 3) = &h01

      ' Decode the byte array with error detection.
      Console.WriteLine("Decoding with error detection:")
      PrintDecodedString(bytes, encExc)

      ' Decode the byte array without error detection.
      Console.WriteLine("Decoding without error detection:")
      PrintDecodedString(bytes, encRepl)
   End Sub

   ' Decode the bytes and display the string.
   Public Sub PrintDecodedString(bytes() As Byte, enc As Encoding)
      Try
         Console.WriteLine("   Decoded string: {0}", enc.GetString(bytes, 0, bytes.Length))
      Catch e As DecoderFallbackException
         Console.WriteLine(e.ToString())
      End Try
      Console.WriteLine()
   End Sub
End Module
' The example displays the following output:
'    Decoding with error detection:
'    System.Text.DecoderFallbackException: Unable to translate bytes [FF][D8][FF][01] at index
'    20 from specified code page to Unicode.
'       at System.Text.DecoderExceptionFallbackBuffer.Throw(Byte[] bytesUnknown, Int32 index)
'       at System.Text.DecoderExceptionFallbackBuffer.Fallback(Byte[] bytesUnknown, Int32 index
'    )
'       at System.Text.DecoderFallbackBuffer.InternalFallback(Byte[] bytes, Byte* pBytes)
'       at System.Text.UTF32Encoding.GetCharCount(Byte* bytes, Int32 count, DecoderNLS baseDeco
'    der)
'       at System.Text.UTF32Encoding.GetString(Byte[] bytes, Int32 index, Int32 count)
'       at Example.PrintDecodedString(Byte[] bytes, Encoding enc)
'
'    Decoding without error detection:
'       Decoded string: zăǽβ�

O exemplo seguinte codifica uma cadeia de caracteres Unicode num array de bytes usando um UTF32Encoding objeto. O array de bytes é então decodificado numa string para demonstrar que não há perda de dados.

using System;
using System.Text;

public class Example
{
    public static void Main()
    {
        // The encoding.
        var enc = new UTF32Encoding();
        
        // Create a string.
        String s = "This string contains two characters " +
                   "with codes outside the ASCII code range: " +
                   "Pi (\u03A0) and Sigma (\u03A3).";
        Console.WriteLine("Original string:");
        Console.WriteLine("   {0}", s);
        
        // Encode the string.
        Byte[] encodedBytes = enc.GetBytes(s);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        for (int ctr = 0; ctr < encodedBytes.Length; ctr++) {
            Console.Write("[{0:X2}]{1}", encodedBytes[ctr],
                                         (ctr + 1) % 4 == 0 ? " " : "" );
            if ((ctr + 1) % 16 == 0) Console.WriteLine();
        }
        Console.WriteLine();
        
        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = enc.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded string:");
        Console.WriteLine("   {0}", decodedString);
    }
}
// The example displays the following output:
//    Original string:
//       This string contains two characters with codes outside the ASCII code range:
//    Pi (π) and Sigma (Σ).
//
//    Encoded bytes:
//    [54][00][00][00] [68][00][00][00] [69][00][00][00] [73][00][00][00]
//    [20][00][00][00] [73][00][00][00] [74][00][00][00] [72][00][00][00]
//    [69][00][00][00] [6E][00][00][00] [67][00][00][00] [20][00][00][00]
//    [63][00][00][00] [6F][00][00][00] [6E][00][00][00] [74][00][00][00]
//    [61][00][00][00] [69][00][00][00] [6E][00][00][00] [73][00][00][00]
//    [20][00][00][00] [74][00][00][00] [77][00][00][00] [6F][00][00][00]
//    [20][00][00][00] [63][00][00][00] [68][00][00][00] [61][00][00][00]
//    [72][00][00][00] [61][00][00][00] [63][00][00][00] [74][00][00][00]
//    [65][00][00][00] [72][00][00][00] [73][00][00][00] [20][00][00][00]
//    [77][00][00][00] [69][00][00][00] [74][00][00][00] [68][00][00][00]
//    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
//    [65][00][00][00] [73][00][00][00] [20][00][00][00] [6F][00][00][00]
//    [75][00][00][00] [74][00][00][00] [73][00][00][00] [69][00][00][00]
//    [64][00][00][00] [65][00][00][00] [20][00][00][00] [74][00][00][00]
//    [68][00][00][00] [65][00][00][00] [20][00][00][00] [41][00][00][00]
//    [53][00][00][00] [43][00][00][00] [49][00][00][00] [49][00][00][00]
//    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
//    [65][00][00][00] [20][00][00][00] [72][00][00][00] [61][00][00][00]
//    [6E][00][00][00] [67][00][00][00] [65][00][00][00] [3A][00][00][00]
//    [20][00][00][00] [50][00][00][00] [69][00][00][00] [20][00][00][00]
//    [28][00][00][00] [A0][03][00][00] [29][00][00][00] [20][00][00][00]
//    [61][00][00][00] [6E][00][00][00] [64][00][00][00] [20][00][00][00]
//    [53][00][00][00] [69][00][00][00] [67][00][00][00] [6D][00][00][00]
//    [61][00][00][00] [20][00][00][00] [28][00][00][00] [A3][03][00][00]
//    [29][00][00][00] [2E][00][00][00]
//
//    Decoded string:
//       This string contains two characters with codes outside the ASCII code range:
//    Pi (π) and Sigma (Σ).
Imports System.Text

Class Example
    Public Shared Sub Main()
        ' The encoding.
        Dim enc As New UTF32Encoding()
        
        ' Create a string.
        Dim s As String =
            "This string contains two characters " &
            "with codes outside the ASCII code range: " &
            "Pi (" & ChrW(&h03A0) & ") and Sigma (" & ChrW(&h03A3) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine("   {0}", s)
        
        ' Encode the string.
        Dim encodedBytes As Byte() = enc.GetBytes(s)
        Console.WriteLine()
        Console.WriteLine("Encoded bytes:")
        For ctr As Integer = 0 To encodedBytes.Length - 1
            Console.Write("[{0:X2}]{1}", encodedBytes(ctr),
                                         If((ctr + 1) Mod 4 = 0, " ", "" ))
            If (ctr + 1) Mod 16 = 0 Then Console.WriteLine()
        Next
        Console.WriteLine()
        
        ' Decode bytes back to string.
        ' Notice Pi and Sigma characters are still present.
        Dim decodedString As String = enc.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded string:")
        Console.WriteLine("   {0}", decodedString)
    End Sub
End Class
' The example displays the following output:
'    Original string:
'       This string contains two characters with codes outside the ASCII code range:
'    Pi (π) and Sigma (Σ).
'
'    Encoded bytes:
'    [54][00][00][00] [68][00][00][00] [69][00][00][00] [73][00][00][00]
'    [20][00][00][00] [73][00][00][00] [74][00][00][00] [72][00][00][00]
'    [69][00][00][00] [6E][00][00][00] [67][00][00][00] [20][00][00][00]
'    [63][00][00][00] [6F][00][00][00] [6E][00][00][00] [74][00][00][00]
'    [61][00][00][00] [69][00][00][00] [6E][00][00][00] [73][00][00][00]
'    [20][00][00][00] [74][00][00][00] [77][00][00][00] [6F][00][00][00]
'    [20][00][00][00] [63][00][00][00] [68][00][00][00] [61][00][00][00]
'    [72][00][00][00] [61][00][00][00] [63][00][00][00] [74][00][00][00]
'    [65][00][00][00] [72][00][00][00] [73][00][00][00] [20][00][00][00]
'    [77][00][00][00] [69][00][00][00] [74][00][00][00] [68][00][00][00]
'    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
'    [65][00][00][00] [73][00][00][00] [20][00][00][00] [6F][00][00][00]
'    [75][00][00][00] [74][00][00][00] [73][00][00][00] [69][00][00][00]
'    [64][00][00][00] [65][00][00][00] [20][00][00][00] [74][00][00][00]
'    [68][00][00][00] [65][00][00][00] [20][00][00][00] [41][00][00][00]
'    [53][00][00][00] [43][00][00][00] [49][00][00][00] [49][00][00][00]
'    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
'    [65][00][00][00] [20][00][00][00] [72][00][00][00] [61][00][00][00]
'    [6E][00][00][00] [67][00][00][00] [65][00][00][00] [3A][00][00][00]
'    [20][00][00][00] [50][00][00][00] [69][00][00][00] [20][00][00][00]
'    [28][00][00][00] [A0][03][00][00] [29][00][00][00] [20][00][00][00]
'    [61][00][00][00] [6E][00][00][00] [64][00][00][00] [20][00][00][00]
'    [53][00][00][00] [69][00][00][00] [67][00][00][00] [6D][00][00][00]
'    [61][00][00][00] [20][00][00][00] [28][00][00][00] [A3][03][00][00]
'    [29][00][00][00] [2E][00][00][00]
'
'    Decoded string:
'       This string contains two characters with codes outside the ASCII code range:
'    Pi (π) and Sigma (Σ).

O exemplo seguinte usa a mesma cadeia de caracteres do anterior, exceto que escreve os bytes codificados num ficheiro e prefixa o fluxo de bytes com uma marca de ordem de bytes (BOM). Depois, lê o ficheiro de duas formas diferentes: como ficheiro de texto usando um StreamReader objeto; e como ficheiro binário. Como seria de esperar, nenhuma das sequências recém-lidas inclui a lista de materiais (BOM).

using System;
using System.IO;
using System.Text;

public class Example
{
    public static void Main()
    {
        // Create a UTF-32 encoding that supports a BOM.
        var enc = new UTF32Encoding();
        
        // A Unicode string with two characters outside an 8-bit code range.
        String s = "This Unicode string has 2 characters " +
                   "outside the ASCII range: \n" +
                   "Pi (\u03A0), and Sigma (\u03A3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(s);
        Console.WriteLine();
        
        // Encode the string.
        Byte[] encodedBytes = enc.GetBytes(s);
        Console.WriteLine("The encoded string has {0} bytes.\n",
                          encodedBytes.Length);

        // Write the bytes to a file with a BOM.
        var fs = new FileStream(@".\UTF32Encoding.txt", FileMode.Create);
        Byte[] bom = enc.GetPreamble();
        fs.Write(bom, 0, bom.Length);
        fs.Write(encodedBytes, 0, encodedBytes.Length);
        Console.WriteLine("Wrote {0} bytes to the file.\n", fs.Length);
        fs.Close();

        // Open the file using StreamReader.
        var sr = new StreamReader(@".\UTF32Encoding.txt");
        String newString = sr.ReadToEnd();
        sr.Close();
        Console.WriteLine("String read using StreamReader:");
        Console.WriteLine(newString);
        Console.WriteLine();
        
        // Open the file as a binary file and decode the bytes back to a string.
        fs = new FileStream(@".\Utf32Encoding.txt", FileMode.Open);
        Byte[] bytes = new Byte[fs.Length];
        fs.Read(bytes, 0, (int)fs.Length);
        fs.Close();

        String decodedString = enc.GetString(bytes);
        Console.WriteLine("Decoded bytes from binary file:");
        Console.WriteLine(decodedString);
    }
}
// The example displays the following output:
//    Original string:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    The encoded string has 340 bytes.
//
//    Wrote 344 bytes to the file.
//
//    String read using StreamReader:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    Decoded bytes from binary file:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
Imports System.IO
Imports System.Text

Class Example
    Public Shared Sub Main()
        ' Create a UTF-32 encoding that supports a BOM.
        Dim enc As New UTF32Encoding()
        
        ' A Unicode string with two characters outside an 8-bit code range.
        Dim s As String = _
            "This Unicode string has 2 characters outside the " &
            "ASCII range: " & vbCrLf &
            "Pi (" & ChrW(&h03A0) & "), and Sigma (" & ChrW(&h03A3) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(s)
        Console.WriteLine()
        
        ' Encode the string.
        Dim encodedBytes As Byte() = enc.GetBytes(s)
        Console.WriteLine("The encoded string has {0} bytes.",
                          encodedBytes.Length)
        Console.WriteLine()
        
        ' Write the bytes to a file with a BOM.
        Dim fs As New FileStream(".\UTF32Encoding.txt", FileMode.Create)
        Dim bom() As Byte = enc.GetPreamble()
        fs.Write(bom, 0, bom.Length)
        fs.Write(encodedBytes, 0, encodedBytes.Length)
        Console.WriteLine("Wrote {0} bytes to the file.", fs.Length)
        fs.Close()
        Console.WriteLine()
        
        ' Open the file using StreamReader.
        Dim sr As New StreamReader(".\UTF32Encoding.txt")
        Dim newString As String = sr.ReadToEnd()
        sr.Close()
        Console.WriteLine("String read using StreamReader:")
        Console.WriteLine(newString)
        Console.WriteLine()
        
        ' Open the file as a binary file and decode the bytes back to a string.
        fs = new FileStream(".\Utf32Encoding.txt", FileMode.Open)
        Dim bytes(fs.Length - 1) As Byte
        fs.Read(bytes, 0, fs.Length)
        fs.Close()

        Dim decodedString As String = enc.GetString(bytes)
        Console.WriteLine("Decoded bytes from binary file:")
        Console.WriteLine(decodedString)
    End Sub
End Class
' The example displays the following output:
'    Original string:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).
'
'    The encoded string has 344 bytes.
'
'    Wrote 348 bytes to the file.
'
'    String read using StreamReader:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).
'
'    Decoded bytes from binary file:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).

Observações

A codificação é o processo de transformar um conjunto de caracteres Unicode em uma sequência de bytes. A descodificação é o processo de transformar uma sequência de bytes codificados num conjunto de caracteres Unicode.

O Padrão Unicode atribui um ponto de código (um número) a cada carácter em cada script suportado. Um Formato de Transformação Unicode (UTF) é uma forma de codificar esse ponto de código. O Padrão Unicode utiliza os seguintes UTFs:

  • UTF-8, que representa cada ponto de código como uma sequência de um a quatro bytes.

  • UTF-16, que representa cada ponto de código como uma sequência de um a dois inteiros de 16 bits.

  • UTF-32, que representa cada ponto de código como um inteiro de 32 bits.

Para mais informações sobre as UTFs e outras codificações suportadas por System.Text, consulte Codificação de Caracteres em .NET.

A UTF32Encoding classe representa uma codificação UTF-32. O codificador pode usar a ordem dos bytes big endian (byte mais significativo primeiro) ou a ordem de bytes little endian (byte mínimo significativo primeiro). Por exemplo, a letra maiúscula latina A (ponto de código U+0041) é serializada da seguinte forma (em hexadecimal):

  • Ordem dos bytes big endian: 00 00 00 41

  • Ordem de bytes do little endian: 41 00 00 00

Geralmente, é mais eficiente armazenar caracteres Unicode usando a ordem nativa de bytes. Por exemplo, é melhor usar a ordem de bytes little endian em plataformas little endian, tais como computadores Intel. UTF32Encoding corresponde às páginas de código Windows 12000 (ordem dos bytes do little endian) e 12001 (ordem dos bytes do big endian). Pode determinar a "endianidade" de uma determinada arquitetura chamando o BitConverter.IsLittleEndian método.

Opcionalmente, o UTF32Encoding objeto fornece uma marca de ordem de bytes (BOM), que é um array de bytes que pode ser prefixado à sequência de bytes resultante do processo de codificação. Se o preâmbulo contiver uma marca de ordem de bytes (BOM), ajuda o descodificador a determinar a ordem dos bytes e o formato de transformação ou UTF de um array de bytes.

Se a UTF32Encoding instância estiver configurada para fornecer uma lista de materiais (BOM), pode recuperá-la chamando o GetPreamble método; caso contrário, o método devolve um array vazio. Note que, mesmo que um UTF32Encoding objeto esteja configurado para suporte a listas de bebidas, deve incluir a lista de materiais no início do fluxo de bytes codificados, conforme apropriado; os métodos de codificação da UTF32Encoding classe não fazem isto automaticamente.

Atenção

Para permitir a deteção de erros e tornar a instância da classe mais segura, deve instanciar um UTF32Encoding objeto chamando o UTF32Encoding(Boolean, Boolean, Boolean) construtor e definindo o seu throwOnInvalidBytes argumento para true. Com a deteção de erros, um método que deteta uma sequência inválida de caracteres ou bytes lança uma ArgumentException exceção. Sem deteção de erros, não é lançada nenhuma exceção, e a sequência inválida é geralmente ignorada.

Podes instanciar um UTF32Encoding objeto de várias formas, dependendo se queres que ele forneça uma marca de ordem de bytes (BOM), se queres codificação big-endian ou little-endian, e se queres ativar a deteção de erros. A tabela seguinte lista os UTF32Encoding construtores e as Encoding propriedades que retornam um UnicodeEncoding objeto.

Membro Endianness Lista técnica Deteção de erros
Encoding.UTF32 Little-endian (ordem de bytes do menor para o maior) Yes Não (Substituição)
UTF32Encoding.UTF32Encoding() Little-endian (ordem de bytes do menor para o maior) Yes Não (Substituição)
UTF32Encoding.UTF32Encoding(Boolean, Boolean) Configurável Configurável Não (Substituição)
UTF32Encoding.UTF32Encoding(Boolean, Boolean, Boolean) Configurável Configurável Configurável

O GetByteCount método determina quantos bytes resultam na codificação de um conjunto de caracteres Unicode, e o GetBytes método executa a codificação propriamente dita.

Da mesma forma, o GetCharCount método determina quantos caracteres resultam na decodificação de uma sequência de bytes, e os GetChars métodos e GetString executam a decodificação propriamente dita.

Para um codificador ou descodificador que consiga guardar informação de estado ao codificar ou decodificar dados que abrangem vários blocos (como uma cadeia de 1 milhão de caracteres codificada em segmentos de 100.000 caracteres), use as GetEncoder propriedades e GetDecoder respetivamente.

Construtores

Name Description
UTF32Encoding()

Inicializa uma nova instância da UTF32Encoding classe.

UTF32Encoding(Boolean, Boolean, Boolean)

Inicializa uma nova instância da UTF32Encoding classe. Os parâmetros especificam se deve usar a ordem dos bytes big endian, se deve fornecer uma marca de ordem de bytes Unicode e se deve lançar uma exceção quando é detetada uma codificação inválida.

UTF32Encoding(Boolean, Boolean)

Inicializa uma nova instância da UTF32Encoding classe. Os parâmetros especificam se deve usar a ordem dos bytes big endian e se o GetPreamble() método retorna uma marca de ordem de bytes Unicode.

Propriedades

Name Description
BodyName

Quando sobrescrito numa classe derivada, obtém um nome para a codificação atual que pode ser usada com as tags do corpo do agente de correio.

(Herdado de Encoding)
CodePage

Quando sobrescrito numa classe derivada, obtém o identificador da página de código do atual Encoding.

(Herdado de Encoding)
DecoderFallback

Obtém ou define o DecoderFallback objeto para o objeto atual Encoding .

(Herdado de Encoding)
EncoderFallback

Obtém ou define o EncoderFallback objeto para o objeto atual Encoding .

(Herdado de Encoding)
EncodingName

Quando sobrescrito numa classe derivada, obtém a descrição legível por humanos da codificação atual.

(Herdado de Encoding)
HeaderName

Quando sobrescrito numa classe derivada, obtém um nome para a codificação atual que pode ser usado com etiquetas de cabeçalho de agente de correio.

(Herdado de Encoding)
IsBrowserDisplay

Quando sobrescrito numa classe derivada, obtém um valor que indica se a codificação atual pode ser usada pelos clientes do navegador para exibir conteúdo.

(Herdado de Encoding)
IsBrowserSave

Quando é sobreposto numa classe derivada, obtém um valor que indica se a codificação atual pode ser usada pelos clientes de navegador para guardar conteúdo.

(Herdado de Encoding)
IsMailNewsDisplay

Quando é sobreposto numa classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes de email e notícias para exibir conteúdo.

(Herdado de Encoding)
IsMailNewsSave

Quando é sobreposto numa classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes de email e notícias para guardar conteúdo.

(Herdado de Encoding)
IsReadOnly

Quando é sobreposto numa classe derivada, obtém um valor que indica se a codificação atual é apenas de leitura.

(Herdado de Encoding)
IsSingleByte

Quando sobrescrito numa classe derivada, obtém um valor que indica se a codificação atual utiliza pontos de código de um byte.

(Herdado de Encoding)
Preamble

Quando sobrescrito numa classe derivada, devolve um span contendo a sequência de bytes que especifica a codificação utilizada.

(Herdado de Encoding)
WebName

Quando é sobreposto numa classe derivada, o nome é registado junto da Internet Assigned Numbers Authority (IANA) para a codificação atual.

(Herdado de Encoding)
WindowsCodePage

Quando sobrescrito numa classe derivada, obtém a página de código do sistema operativo Windows que mais corresponde à codificação atual.

(Herdado de Encoding)

Métodos

Name Description
Clone()

Quando sobreposta numa classe derivada, cria-se uma cópia superficial do objeto atual Encoding .

(Herdado de Encoding)
Equals(Object)

Determina se o especificado Object é igual ao objeto atual UTF32Encoding .

GetByteCount(Char[], Int32, Int32)

Calcula o número de bytes produzidos ao codificar um conjunto de caracteres a partir do array de caracteres especificado.

GetByteCount(Char[])

Quando sobrescrito numa classe derivada, calcula o número de bytes produzidos ao codificar todos os caracteres do array de caracteres especificado.

(Herdado de Encoding)
GetByteCount(Char*, Int32)

Calcula o número de bytes produzidos ao codificar um conjunto de caracteres a partir do ponteiro especificado.

GetByteCount(ReadOnlySpan<Char>)

Quando sobrescrito numa classe derivada, calcula o número de bytes produzidos pela codificação dos caracteres no intervalo de caracteres especificado.

(Herdado de Encoding)
GetByteCount(String, Int32, Int32)

Quando sobrescrito numa classe derivada, calcula o número de bytes produzidos ao codificar um conjunto de caracteres a partir da cadeia especificada.

(Herdado de Encoding)
GetByteCount(String)

Calcula o número de bytes produzidos ao codificar os caracteres no especificado String.

GetBytes(Char[], Int32, Int32, Byte[], Int32)

Codifica um conjunto de caracteres do array de caracteres especificado no array de bytes especificado.

GetBytes(Char[], Int32, Int32)

Quando sobrescrito numa classe derivada, codifica um conjunto de caracteres do array de caracteres especificado numa sequência de bytes.

(Herdado de Encoding)
GetBytes(Char[])

Quando sobrescrito numa classe derivada, codifica todos os caracteres do array de caracteres especificado numa sequência de bytes.

(Herdado de Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Codifica um conjunto de caracteres a partir do ponteiro especificado numa sequência de bytes que são armazenados a partir do ponteiro especificado.

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

Quando sobrescrito numa classe derivada, codifica num espaço de bytes um conjunto de caracteres do intervalo de apenas leitura especificado.

(Herdado de Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Codifica um conjunto de caracteres do especificado String para o array de bytes especificado.

GetBytes(String, Int32, Int32)

Quando sobrescrito numa classe derivada, codifica num array de bytes o número de caracteres especificados por count na cadeia especificada, começando a partir do especificado index.

(Herdado de Encoding)
GetBytes(String)

Quando sobrescrito numa classe derivada, codifica todos os caracteres da cadeia especificada numa sequência de bytes.

(Herdado de Encoding)
GetCharCount(Byte[], Int32, Int32)

Calcula o número de caracteres produzidos ao descodificar uma sequência de bytes a partir do array de bytes especificado.

GetCharCount(Byte[])

Quando sobrescrito numa classe derivada, calcula o número de caracteres produzidos pela decodificação de todos os bytes no array de bytes especificado.

(Herdado de Encoding)
GetCharCount(Byte*, Int32)

Calcula o número de caracteres produzidos ao descodificar uma sequência de bytes a partir do ponteiro de bytes especificado.

GetCharCount(ReadOnlySpan<Byte>)

Quando sobrescrito numa classe derivada, calcula o número de caracteres produzidos ao descodificar o intervalo de bytes de apenas leitura fornecido.

(Herdado de Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Descodifica uma sequência de bytes do array de bytes especificado para o array de caracteres especificado.

GetChars(Byte[], Int32, Int32)

Quando sobrescrito numa classe derivada, decodifica uma sequência de bytes do array de bytes especificado num conjunto de caracteres.

(Herdado de Encoding)
GetChars(Byte[])

Quando sobrescrito numa classe derivada, descodifica todos os bytes do array de bytes especificado num conjunto de caracteres.

(Herdado de Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Decodifica uma sequência de bytes a partir do ponteiro de byte especificado num conjunto de caracteres que são armazenados a partir do ponteiro especificado.

GetChars(ReadOnlySpan<Byte>, Span<Char>)

Quando sobrescrito numa classe derivada, decodifica todos os bytes do intervalo de bytes especificado para apenas leitura num espaço de caracteres.

(Herdado de Encoding)
GetDecoder()

Obtém um descodificador que converte uma sequência de bytes codificada em UTF-32 numa sequência de caracteres Unicode.

GetEncoder()

Obtém um codificador que converte uma sequência de caracteres Unicode numa sequência de bytes codificada em UTF-32.

GetHashCode()

Devolve o código hash da instância atual.

GetMaxByteCount(Int32)

Calcula o número máximo de bytes produzidos codificando o número especificado de caracteres.

GetMaxCharCount(Int32)

Calcula o número máximo de caracteres produzidos ao descodificar o número especificado de bytes.

GetPreamble()

Devolve uma marca de ordem de bytes Unicode codificada no formato UTF-32, se o UTF32Encoding objeto estiver configurado para fornecer uma.

GetString(Byte[], Int32, Int32)

Descodifica um intervalo de bytes de um array de bytes para uma cadeia.

GetString(Byte[])

Quando sobrescrito numa classe derivada, decodifica todos os bytes do array de bytes especificado numa string.

(Herdado de Encoding)
GetString(Byte*, Int32)

Quando é sobreposto numa classe derivada, decodifica um número especificado de bytes começando num endereço especificado numa cadeia.

(Herdado de Encoding)
GetString(ReadOnlySpan<Byte>)

Quando sobrescrito numa classe derivada, decodifica todos os bytes do intervalo de bytes especificado numa string.

(Herdado de Encoding)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsAlwaysNormalized()

Recebe um valor que indica se a codificação atual está sempre normalizada, usando a forma de normalização por defeito.

(Herdado de Encoding)
IsAlwaysNormalized(NormalizationForm)

Quando sobrescrito numa classe derivada, obtém um valor que indica se a codificação atual está sempre normalizada, usando a forma de normalização especificada.

(Herdado de Encoding)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também