Compartilhar via


Encoding Classe

Definição

Representa uma codificação de caracteres.

public ref class Encoding abstract
public ref class Encoding abstract : ICloneable
public abstract class Encoding
public abstract class Encoding : ICloneable
[System.Serializable]
public abstract class Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Encoding : ICloneable
type Encoding = class
type Encoding = class
    interface ICloneable
[<System.Serializable>]
type Encoding = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Encoding = class
    interface ICloneable
Public MustInherit Class Encoding
Public MustInherit Class Encoding
Implements ICloneable
Herança
Encoding
Derivado
Atributos
Implementações

Exemplos

O exemplo a seguir converte uma cadeia de caracteres de uma codificação para outra.

Observação

A byte[] matriz é o único tipo neste exemplo que contém os dados codificados. O .NET Char e os String tipos são, por si, Unicode, portanto, a GetChars chamada decodifica os dados de volta para o Unicode.

using namespace System;
using namespace System::Text;

int main()
{
   String^ unicodeString = "This string contains the unicode character Pi (\u03a0)";
   
   // Create two different encodings.
   Encoding^ ascii = Encoding::ASCII;
   Encoding^ unicode = Encoding::Unicode;
   
   // Convert the string into a byte array.
   array<Byte>^unicodeBytes = unicode->GetBytes( unicodeString );
   
   // Perform the conversion from one encoding to the other.
   array<Byte>^asciiBytes = Encoding::Convert( unicode, ascii, unicodeBytes );
   
   // Convert the new Byte into[] a char and[] then into a string.
   array<Char>^asciiChars = gcnew array<Char>(ascii->GetCharCount( asciiBytes, 0, asciiBytes->Length ));
   ascii->GetChars( asciiBytes, 0, asciiBytes->Length, asciiChars, 0 );
   String^ asciiString = gcnew String( asciiChars );
   
   // Display the strings created before and after the conversion.
   Console::WriteLine( "Original String*: {0}", unicodeString );
   Console::WriteLine( "Ascii converted String*: {0}", asciiString );
}
// The example displays the following output:
//    Original string: This string contains the unicode character Pi (Π)
//    Ascii converted string: This string contains the unicode character Pi (?)
using System;
using System.Text;

class Example
{
   static void Main()
   {
      string unicodeString = "This string contains the unicode character Pi (\u03a0)";

      // Create two different encodings.
      Encoding ascii = Encoding.ASCII;
      Encoding unicode = Encoding.Unicode;

      // Convert the string into a byte array.
      byte[] unicodeBytes = unicode.GetBytes(unicodeString);

      // Perform the conversion from one encoding to the other.
      byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
         
      // Convert the new byte[] into a char[] and then into a string.
      char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
      string asciiString = new string(asciiChars);

      // Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString);
      Console.WriteLine("Ascii converted string: {0}", asciiString);
   }
}
// The example displays the following output:
//    Original string: This string contains the unicode character Pi (Π)
//    Ascii converted string: This string contains the unicode character Pi (?)
Imports System.Text

Class Example
   Shared Sub Main()
      Dim unicodeString As String = "This string contains the unicode character Pi (" & ChrW(&H03A0) & ")"

      ' Create two different encodings.
      Dim ascii As Encoding = Encoding.ASCII
      Dim unicode As Encoding = Encoding.Unicode

      ' Convert the string into a byte array.
      Dim unicodeBytes As Byte() = unicode.GetBytes(unicodeString)

      ' Perform the conversion from one encoding to the other.
      Dim asciiBytes As Byte() = Encoding.Convert(unicode, ascii, unicodeBytes)

      ' Convert the new byte array into a char array and then into a string.
      Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)-1) As Char
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
      Dim asciiString As New String(asciiChars)

      ' Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString)
      Console.WriteLine("Ascii converted string: {0}", asciiString)
   End Sub
End Class
' The example displays the following output:
'    Original string: This string contains the unicode character Pi (Π)
'    Ascii converted string: This string contains the unicode character Pi (?)

Comentários

Para obter mais informações sobre essa API, consulte Comentários sobre a API Complementar para Codificação.

Construtores

Encoding()

Inicializa uma nova instância da classe Encoding.

Encoding(Int32)

Inicializa uma nova instância da classe Encoding que corresponde à página de código especificada.

Encoding(Int32, EncoderFallback, DecoderFallback)

Inicializa uma nova instância da classe Encoding que corresponde à página de código especificada com as estratégias de fallback de codificador e decodificador especificadas.

Propriedades

ASCII

Obtém uma codificação para o conjunto de caracteres ASCII (7 bits).

BigEndianUnicode

Obtém uma codificação para o formato UTF-16 que usa a ordem de byte big endian.

BodyName

Quando substituído em uma classe derivada, obtém um nome para a codificação atual que pode ser usado com marcas de corpo do agente de email.

CodePage

Quando é substituído em uma classe derivada, obtém o identificador de página de código do Encoding atual.

DecoderFallback

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

Default

Obtém a codificação padrão para esta implementação .NET.

EncoderFallback

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

EncodingName

Quando substituído em uma classe derivada, obtém a descrição legível por humanos da codificação atual.

HeaderName

Quando substituído em uma classe derivada, obtém um nome para a codificação atual que pode ser usado com marcas de cabeçalho do agente de email.

IsBrowserDisplay

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador para exibir conteúdo.

IsBrowserSave

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador para salvar conteúdo.

IsMailNewsDisplay

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador e email para exibir conteúdo.

IsMailNewsSave

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador e email para salvar conteúdo.

IsReadOnly

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual é somente leitura.

IsSingleByte

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual usa pontos de código de byte único.

Latin1

Obtém uma codificação para o conjunto de caracteres Latin1 (ISO-8859-1).

Preamble

Quando substituído em uma classe derivada, retorna um intervalo que contém a sequência de bytes que especifica a codificação usada.

Unicode

Obtém uma codificação para o formato UTF-16 usando a ordem de byte little endian.

UTF32

Obtém uma codificação para o formato UTF-32 usando a ordem de byte little endian.

UTF7
Obsoleto.

Obtém uma codificação para o formato UTF-7.

UTF8

Obtém uma codificação para o formato UTF-8.

WebName

Quando substituído em uma classe derivada, obtém o nome registrado na IANA (Internet Assigned Numbers Authority) da codificação atual.

WindowsCodePage

Quando substituído em uma classe derivada, obtém a página de código de sistema operacional Windows que mais bem corresponde à codificação atual.

Métodos

Clone()

Quando substituído em uma classe derivada, cria uma cópia superficial do objeto Encoding atual.

Convert(Encoding, Encoding, Byte[])

Converte uma matriz de bytes inteira de uma codificação para outra.

Convert(Encoding, Encoding, Byte[], Int32, Int32)

Converte um intervalo de bytes em uma matriz de bytes de uma codificação para outra.

CreateTranscodingStream(Stream, Encoding, Encoding, Boolean)

Cria uma Stream que serve para transcodificar dados entre uma Encoding interna e uma Encoding externa, semelhante a Convert(Encoding, Encoding, Byte[]).

Equals(Object)

Determina se o Object especificado é igual à instância atual.

GetByteCount(Char*, Int32)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de um conjunto de caracteres começando no ponteiro de caracteres especificado.

GetByteCount(Char[])

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de todos os caracteres na matriz de caracteres especificada.

GetByteCount(Char[], Int32, Int32)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de um conjunto de caracteres da matriz de caracteres especificada.

GetByteCount(ReadOnlySpan<Char>)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação dos caracteres no intervalo de caracteres especificado.

GetByteCount(String)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de caracteres na cadeia de caracteres especificada.

GetByteCount(String, Int32, Int32)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de um conjunto de caracteres da cadeia de caracteres especificada.

GetBytes(Char*, Int32, Byte*, Int32)

Quando substituído em uma classe derivada, codifica um conjunto de caracteres começando no ponteiro de caractere especificado em uma sequência de bytes armazenados do ponteiro de bytes especificado.

GetBytes(Char[])

Quando substituído em uma classe derivada, codifica todos os caracteres na matriz de caracteres especificada em uma sequência de bytes.

GetBytes(Char[], Int32, Int32)

Quando substituído em uma classe derivada, codifica um conjunto de caracteres na matriz de caracteres especificada em uma sequência de bytes.

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

Quando substituído em uma classe derivada, codifica um conjunto de caracteres da matriz de caracteres especificada em uma matriz de bytes especificada.

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

Quando substituído em uma classe derivada, codifica em um intervalo de bytes um conjunto de caracteres do intervalo somente leitura especificado.

GetBytes(String)

Quando substituído em uma classe derivada, codifica todos os caracteres na cadeia de caracteres especificada em uma sequência de bytes.

GetBytes(String, Int32, Int32)

Quando substituído em uma classe derivada, codifica em uma matriz de bytes o número de caracteres especificado por count na cadeia de caracteres especificada, começando do index especificado.

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

Quando substituído em uma classe derivada, codifica um conjunto de caracteres da cadeia de caracteres especificada em uma matriz de bytes especificada.

GetCharCount(Byte*, Int32)

Quando substituído em uma classe derivada, calcula o número de caracteres produzidos usando a decodificação de uma sequência de bytes começando no ponteiro de bytes especificado.

GetCharCount(Byte[])

Quando substituído em uma classe derivada, calcula o número de caracteres produzidos decodificando todos os bytes na matriz de bytes especificada.

GetCharCount(Byte[], Int32, Int32)

Quando substituído em uma classe derivada, calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes da matriz de bytes especificada.

GetCharCount(ReadOnlySpan<Byte>)

Quando substituído em uma classe derivada, calcula o número de caracteres produzidos decodificando o intervalo de bytes somente leitura fornecido.

GetChars(Byte*, Int32, Char*, Int32)

Quando substituído em uma classe derivada, decodifica uma sequência de bytes iniciando no ponteiro de bytes especificado em um conjunto de caracteres começando no ponteiro de caractere especificado.

GetChars(Byte[])

Quando substituído em uma classe derivada, decodifica todos os bytes na matriz de bytes especificada em um conjunto de caracteres.

GetChars(Byte[], Int32, Int32)

Quando substituído em uma classe derivada, decodifica uma sequência de bytes da matriz de bytes especificada em um conjunto de caracteres.

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

Quando substituído em uma classe derivada, decodifica uma sequência de bytes da matriz de bytes especificada na matriz de caracteres especificada.

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

Quando substituído em uma classe derivada, decodifica todos os bytes no intervalo de bytes somente leitura especificado em um intervalo de caracteres.

GetDecoder()

Quando substituído em uma classe derivada, obtém um decodificador que converte uma sequência de bytes codificada em uma sequência de caracteres.

GetEncoder()

Quando substituído em uma classe derivada, obtém um codificador que converte uma sequência de caracteres Unicode em uma sequência codificada de bytes.

GetEncoding(Int32)

Retorna a codificação associada ao identificador de página de código especificado.

GetEncoding(Int32, EncoderFallback, DecoderFallback)

Retorna a codificação associada ao identificador de página de código especificado. Os parâmetros especificam um manipulador de erro para caracteres que não podem ser codificados e sequências de bytes que não podem ser decodificadas.

GetEncoding(String)

Retorna a codificação associada ao nome da página de código especificada.

GetEncoding(String, EncoderFallback, DecoderFallback)

Retorna a codificação associada ao nome da página de código especificada. Os parâmetros especificam um manipulador de erro para caracteres que não podem ser codificados e sequências de bytes que não podem ser decodificadas.

GetEncodings()

Retorna uma matriz que contém todas as codificações.

GetHashCode()

Retorna o código hash para a instância atual.

GetMaxByteCount(Int32)

Quando substituído em uma classe derivada, calcula o número máximo de bytes produzidos pela codificação do número especificado de caracteres.

GetMaxCharCount(Int32)

Quando substituído em uma classe derivada, calcula o número máximo de caracteres produzidos pela codificação do número especificado de bytes.

GetPreamble()

Quando substituído em uma classe derivada, retorna uma sequência de bytes que especifica a codificação usada.

GetString(Byte*, Int32)

Quando substituído em uma classe derivada, decodifica um número especificado de bytes, começando em um endereço especificado em uma cadeia de caracteres.

GetString(Byte[])

Quando substituído em uma classe derivada, decodifica todos os bytes na matriz de bytes especificada em uma cadeia de caracteres.

GetString(Byte[], Int32, Int32)

Quando substituído em uma classe derivada, decodifica uma sequência de bytes da matriz de bytes especificada em uma cadeia de caracteres.

GetString(ReadOnlySpan<Byte>)

Quando substituído em uma classe derivada, decodifica todos os bytes no intervalo de bytes especificado em uma cadeia de caracteres.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsAlwaysNormalized()

Obtém um valor que indica se a codificação atual sempre é normalizada usando o formulário de normalização padrão.

IsAlwaysNormalized(NormalizationForm)

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual sempre é normalizada usando a forma de normalização especificada.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RegisterProvider(EncodingProvider)

Registra um provedor de codificação.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Codifica em um intervalo de bytes um conjunto de caracteres do intervalo somente leitura especificado se o destino for grande o suficiente.

TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Decodifica em um intervalo de caracteres um conjunto de bytes do intervalo somente leitura especificado se o destino for grande o suficiente.

Métodos de Extensão

GetBytes(Encoding, ReadOnlySequence<Char>)

Codifica o ReadOnlySequence<T> especificado em uma matriz Byte usando o Encoding especificado.

GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>)

Decodifica o ReadOnlySequence<T> especificado para bytes usando o Encoding especificado e grava o resultado em writer.

GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>)

Codifica o ReadOnlySequence<T> especificado para bytes usando o Encoding especificado e gera o resultado para bytes.

GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>)

Codifica o ReadOnlySpan<T> especificado para bytes usando o Encoding especificado e grava o resultado em writer.

GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>)

Decodifica o ReadOnlySequence<T> especificado para chars usando o Encoding especificado e grava o resultado em writer.

GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>)

Decodifica o ReadOnlySequence<T> especificado para chars usando o Encoding especificado e gera o resultado para chars.

GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>)

Decodifica o ReadOnlySpan<T> especificado para chars usando o Encoding especificado e grava o resultado em writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Decodifica o ReadOnlySequence<T> especificado em um String usando o Encoding especificado.

Aplica-se a

Confira também