Encoding.GetEncoding Encoding.GetEncoding Encoding.GetEncoding Encoding.GetEncoding Method

Definición

Devuelve una codificación para la página de códigos especificada.Returns an encoding for the specified code page.

Sobrecargas

GetEncoding(Int32) GetEncoding(Int32) GetEncoding(Int32) GetEncoding(Int32)

Devuelve la codificación asociada al identificador de página de códigos especificado.Returns the encoding associated with the specified code page identifier.

GetEncoding(String) GetEncoding(String) GetEncoding(String) GetEncoding(String)

Devuelve la codificación asociada al nombre especificado de la página de códigos.Returns the encoding associated with the specified code page name.

GetEncoding(Int32, EncoderFallback, DecoderFallback) GetEncoding(Int32, EncoderFallback, DecoderFallback) GetEncoding(Int32, EncoderFallback, DecoderFallback)

Devuelve la codificación asociada al identificador de página de códigos especificado.Returns the encoding associated with the specified code page identifier. Los parámetros especifican un controlador de errores para los caracteres que no se pueden codificar y para las secuencias de bytes que no se pueden descodificar.Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded.

GetEncoding(String, EncoderFallback, DecoderFallback) GetEncoding(String, EncoderFallback, DecoderFallback) GetEncoding(String, EncoderFallback, DecoderFallback)

Devuelve la codificación asociada al nombre especificado de la página de códigos.Returns the encoding associated with the specified code page name. Los parámetros especifican un controlador de errores para los caracteres que no se pueden codificar y para las secuencias de bytes que no se pueden descodificar.Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded.

GetEncoding(Int32) GetEncoding(Int32) GetEncoding(Int32) GetEncoding(Int32)

Devuelve la codificación asociada al identificador de página de códigos especificado.Returns the encoding associated with the specified code page identifier.

public:
 static System::Text::Encoding ^ GetEncoding(int codepage);
public static System.Text.Encoding GetEncoding (int codepage);
static member GetEncoding : int -> System.Text.Encoding
Public Shared Function GetEncoding (codepage As Integer) As Encoding

Parámetros

codepage
Int32 Int32 Int32 Int32

Identificador de página de códigos de la codificación preferida.The code page identifier of the preferred encoding. Se hace una lista de los valores posibles en la columna Página de códigos de la tabla que aparece en el tema de la clase Encoding.Possible values are listed in the Code Page column of the table that appears in the Encoding class topic.

O bien-or- 0 (cero), para utilizar la codificación predeterminada.0 (zero), to use the default encoding.

Devoluciones

Codificación asociada a la página de códigos especificada.The encoding that is associated with the specified code page.

Excepciones

codepage es menor que cero o mayor que 65535.codepage is less than zero or greater than 65535.

codepage no es compatible con la plataforma subyacente.codepage is not supported by the underlying platform.

codepage no es compatible con la plataforma subyacente.codepage is not supported by the underlying platform.

Ejemplos

En el ejemplo siguiente se obtienen dos instancias de la misma codificación (una por página de códigos y otra por nombre) y se comprueba su igualdad.The following example gets two instances of the same encoding (one by code page and another by name), and checks their equality.

using namespace System;
using namespace System::Text;
int main()
{
   
   // Get a UTF-32 encoding by codepage.
   Encoding^ e1 = Encoding::GetEncoding( 12000 );
   
   // Get a UTF-32 encoding by name.
   Encoding^ e2 = Encoding::GetEncoding( "utf-32" );
   
   // Check their equality.
   Console::WriteLine( "e1 equals e2? {0}", e1->Equals( e2 ) );
}

/* 
This code produces the following output.

e1 equals e2? True

*/
using System;
using System.Text;

public class SamplesEncoding  {

   public static void Main()  {

      // Get a UTF-32 encoding by codepage.
      Encoding e1 = Encoding.GetEncoding( 12000 );

      // Get a UTF-32 encoding by name.
      Encoding e2 = Encoding.GetEncoding( "utf-32" );

      // Check their equality.
      Console.WriteLine( "e1 equals e2? {0}", e1.Equals( e2 ) );

   }

}


/* 
This code produces the following output.

e1 equals e2? True

*/

Imports System.Text

Public Class SamplesEncoding   

   Public Shared Sub Main()

      ' Get a UTF-32 encoding by codepage.
      Dim e1 As Encoding = Encoding.GetEncoding(12000)

      ' Get a UTF-32 encoding by name.
      Dim e2 As Encoding = Encoding.GetEncoding("utf-32")

      ' Check their equality.
      Console.WriteLine("e1 equals e2? {0}", e1.Equals(e2))

   End Sub 'Main 

End Class 'SamplesEncoding


'This code produces the following output.
'
'e1 equals e2? True

Comentarios

El controlador de reserva depende del tipo de codificación de codepage.The fallback handler depends on the encoding type of codepage. Si codepage es una codificación de página de códigos o de juego de caracteres de doble byte (DBCS), se utiliza un controlador de reserva con ajuste perfecto.If codepage is a code page or double-byte character set (DBCS) encoding, a best-fit fallback handler is used. De lo contrario, se utiliza un controlador de reserva de reemplazo.Otherwise, a replacement fallback handler is used. Estos controladores de reserva pueden no ser adecuados para la aplicación.These fallback handlers may not be appropriate for your app. Para especificar el controlador de reserva usado por la codificación especificada por codepage, puede llamar a la GetEncoding(Int32, EncoderFallback, DecoderFallback) sobrecarga.To specify the fallback handler used by the encoding specified by codepage, you can call the GetEncoding(Int32, EncoderFallback, DecoderFallback) overload.

En el .NET Framework, el GetEncoding método se basa en la plataforma subyacente para admitir la mayoría de las páginas de códigos.In the .NET Framework, the GetEncoding method relies on the underlying platform to support most code pages. Sin embargo, el .NET Framework admite de forma nativa algunas codificaciones.However, the .NET Framework natively supports some encodings. Para obtener una lista de páginas de códigos, Encoding vea el tema de la clase.For a list of code pages, see the Encoding class topic. En .net Core, el GetEncoding método devuelve las codificaciones admitidas de forma nativa por .net Core.In .NET Core, the GetEncoding method returns the encodings natively supported by .NET Core. En ambas implementaciones de .net, puede llamar GetEncodings al método para obtener una matriz de EncodingInfo objetos que contiene información sobre todas las codificaciones disponibles.On both .NET implementations, you can call the GetEncodings method to get an array of EncodingInfo objects that contains information about all available encodings.

Además de las codificaciones que están disponibles de forma nativa en .net Core o que se admiten de forma intrínseca en una versión específica de la plataforma del .NET Framework GetEncoding , el método devuelve cualquier codificación adicional que esté disponible mediante el registro de un EncodingProvider objeto.In addition to the encodings that are natively available on .NET Core or that are intrinsically supported on a specific platform version of the .NET Framework, the GetEncoding method returns any additional encodings that are made available by registering an EncodingProvider object. Si varios EncodingProvider objetos registran la misma codificación, este método devuelve la última registrada.If the same encoding has been registered by multiple EncodingProvider objects, this method returns the last one registered.

También puede proporcionar un valor de 0 para el codepage argumento.You can also supply a value of 0 for the codepage argument. Su comportamiento preciso depende de si alguna codificación se ha puesto a disposición mediante el registro de un EncodingProvider objeto:Its precise behavior depends on whether any encodings have been made available by registering an EncodingProvider object:

  • Si se han registrado uno o más proveedores de codificación, devuelve la codificación del último proveedor registrado que ha elegido devolver una codificación cuando se pasa al GetEncoding método un codepage argumento de 0.If one or more encoding providers have been registered, it returns the encoding of the last registered provider that has chosen to return a encoding when the GetEncoding method is passed a codepage argument of 0.

  • En el .NET Framework, si no se ha registrado ningún proveedor de codificación, si CodePagesEncodingProvider es el proveedor de codificación registrado o si ningún proveedor de codificación registrado controla un codepage valor de 0, devuelve la página de códigos activa del sistema operativo.On the .NET Framework, if no encoding provider has been registered, if the CodePagesEncodingProvider is the registered encoding provider, or if no registered encoding provider handles a codepage value of 0, it returns the operating system's active code page. Para determinar la página de códigos activa en los sistemas Windows, llame a la función GetACP de Windows desde el .NET Framework en el escritorio de Windows.To determine the active code page on Windows systems, call the Windows GetACP function from the .NET Framework on the Windows desktop.

  • En .net Core, si no se ha registrado ningún proveedor de codificación o si ningún proveedor de codificación registrado controla codepage un valor de 0, UTF8Encodingdevuelve.On .NET Core, if no encoding provider has been registered or if no registered encoding provider handles a codepage value of 0, it returns the UTF8Encoding.

Nota

Algunas páginas de códigos no compatibles provocan ArgumentException que se produzca una excepción, mientras que NotSupportedExceptionotras producen.Some unsupported code pages cause an ArgumentException to be thrown, whereas others cause a NotSupportedException. Por lo tanto, el código debe detectar todas las excepciones indicadas en la sección excepciones.Therefore, your code must catch all exceptions indicated in the Exceptions section.

Nota

Las páginas de códigos ANSI pueden ser diferentes en distintos equipos y pueden cambiar en un solo equipo, lo que provoca daños en los datos.The ANSI code pages can be different on different computers and can change on a single computer, leading to data corruption. Por este motivo, si la página de códigos activa es una página de códigos ANSI, no se recomienda codificar y descodificar los datos Encoding.GetEncoding(0) mediante la página de códigos predeterminada devuelta por.For this reason, if the active code page is an ANSI code page, encoding and decoding data using the default code page returned by Encoding.GetEncoding(0) is not recommended. Para obtener los resultados más coherentes, debe usar una codificación Unicode, como UTF-8 (página de códigos 65001) o UTF-16, en lugar de una página de códigos específica.For the most consistent results, you should use a Unicode encoding, such as UTF-8 (code page 65001) or UTF-16, instead of a specific code page.

GetEncodingDevuelve una instancia almacenada en caché con la configuración predeterminada.GetEncoding returns a cached instance with default settings. Debe utilizar los constructores de clases derivadas para obtener una instancia de con una configuración diferente.You should use the constructors of derived classes to get an instance with different settings. Por ejemplo, la UTF32Encoding clase proporciona un constructor que le permite habilitar la detección de errores.For example, the UTF32Encoding class provides a constructor that lets you enable error detection.

Consulte también:

GetEncoding(String) GetEncoding(String) GetEncoding(String) GetEncoding(String)

Devuelve la codificación asociada al nombre especificado de la página de códigos.Returns the encoding associated with the specified code page name.

public:
 static System::Text::Encoding ^ GetEncoding(System::String ^ name);
public static System.Text.Encoding GetEncoding (string name);
static member GetEncoding : string -> System.Text.Encoding
Public Shared Function GetEncoding (name As String) As Encoding

Parámetros

name
String String String String

Nombre de la página de códigos de la codificación preferida.The code page name of the preferred encoding. Cualquier valor devuelto por la propiedad WebName es válido.Any value returned by the WebName property is valid. Se hace una lista de los valores posibles en la columna Nombre de la tabla que aparece en el tema de la clase Encoding.Possible values are listed in the Name column of the table that appears in the Encoding class topic.

Devoluciones

Codificación asociada a la página de códigos especificada.The encoding associated with the specified code page.

Excepciones

name no es un nombre de página de códigos válido.name is not a valid code page name.

O bien-or- La página de códigos indicada por name no es compatible con la plataforma subyacente.The code page indicated by name is not supported by the underlying platform.

Ejemplos

En el ejemplo siguiente se obtienen dos instancias de la misma codificación (una por página de códigos y otra por nombre) y se comprueba su igualdad.The following example gets two instances of the same encoding (one by code page and another by name), and checks their equality.

using namespace System;
using namespace System::Text;
int main()
{
   
   // Get a UTF-32 encoding by codepage.
   Encoding^ e1 = Encoding::GetEncoding( 12000 );
   
   // Get a UTF-32 encoding by name.
   Encoding^ e2 = Encoding::GetEncoding( "utf-32" );
   
   // Check their equality.
   Console::WriteLine( "e1 equals e2? {0}", e1->Equals( e2 ) );
}

/* 
This code produces the following output.

e1 equals e2? True

*/
using System;
using System.Text;

public class SamplesEncoding  {

   public static void Main()  {

      // Get a UTF-32 encoding by codepage.
      Encoding e1 = Encoding.GetEncoding( 12000 );

      // Get a UTF-32 encoding by name.
      Encoding e2 = Encoding.GetEncoding( "utf-32" );

      // Check their equality.
      Console.WriteLine( "e1 equals e2? {0}", e1.Equals( e2 ) );

   }

}


/* 
This code produces the following output.

e1 equals e2? True

*/

Imports System.Text

Public Class SamplesEncoding   

   Public Shared Sub Main()

      ' Get a UTF-32 encoding by codepage.
      Dim e1 As Encoding = Encoding.GetEncoding(12000)

      ' Get a UTF-32 encoding by name.
      Dim e2 As Encoding = Encoding.GetEncoding("utf-32")

      ' Check their equality.
      Console.WriteLine("e1 equals e2? {0}", e1.Equals(e2))

   End Sub 'Main 

End Class 'SamplesEncoding


'This code produces the following output.
'
'e1 equals e2? True

Comentarios

El controlador de reserva depende del tipo de codificación de name.The fallback handler depends on the encoding type of name. Si name es una codificación de página de códigos o de juego de caracteres de doble byte (DBCS), se utiliza un controlador de reserva con ajuste perfecto.If name is a code page or double-byte character set (DBCS) encoding, a best-fit fallback handler is used. De lo contrario, se utiliza un controlador de reserva de reemplazo.Otherwise, a replacement fallback handler is used. Estos controladores de reserva pueden no ser adecuados para la aplicación.These fallback handlers may not be appropriate for your app. Para especificar el controlador de reserva usado por la codificación especificada por name, puede llamar a la GetEncoding(String, EncoderFallback, DecoderFallback) sobrecarga.To specify the fallback handler used by the encoding specified by name, you can call the GetEncoding(String, EncoderFallback, DecoderFallback) overload.

En el .NET Framework, el GetEncoding método se basa en la plataforma subyacente para admitir la mayoría de las páginas de códigos.In the .NET Framework, the GetEncoding method relies on the underlying platform to support most code pages. Sin embargo, el .NET Framework admite de forma nativa algunas codificaciones.However, the .NET Framework natively supports some encodings. Para obtener una lista de páginas de códigos, Encoding vea el tema de la clase.For a list of code pages, see the Encoding class topic. En .net Core, el GetEncoding método devuelve las codificaciones admitidas de forma nativa por .net Core.In .NET Core, the GetEncoding method returns the encodings natively supported by .NET Core. En ambas implementaciones de .net, puede llamar GetEncodings al método para obtener una matriz de EncodingInfo objetos que contiene información sobre todas las codificaciones disponibles.On both .NET implementations, you can call the GetEncodings method to get an array of EncodingInfo objects that contains information about all available encodings.

Además de las codificaciones que están disponibles de forma nativa en .net Core o que se admiten de forma intrínseca en una versión específica de la plataforma del .NET Framework GetEncoding , el método devuelve cualquier codificación adicional que esté disponible mediante el registro de un EncodingProvider objeto.In addition to the encodings that are natively available on .NET Core or that are intrinsically supported on a specific platform version of the .NET Framework, the GetEncoding method returns any additional encodings that are made available by registering an EncodingProvider object. Si varios EncodingProvider objetos registran la misma codificación, este método devuelve la última registrada.If the same encoding has been registered by multiple EncodingProvider objects, this method returns the last one registered.

Nota

Las páginas de códigos ANSI pueden ser diferentes en distintos equipos o se pueden cambiar para un único equipo, lo que provoca daños en los datos.The ANSI code pages can be different on different computers, or can be changed for a single computer, leading to data corruption. Para obtener los resultados más coherentes, debe usar Unicode, como UTF-8 (página de códigos 65001) o UTF-16, en lugar de una página de códigos específica.For the most consistent results, you should use Unicode, such as UTF-8 (code page 65001) or UTF-16, instead of a specific code page.

GetEncodingDevuelve una instancia almacenada en caché con la configuración predeterminada.GetEncoding returns a cached instance with default settings. Debe utilizar los constructores de clases derivadas para obtener una instancia de con una configuración diferente.You should use the constructors of derived classes to get an instance with different settings. Por ejemplo, la UTF32Encoding clase proporciona un constructor que le permite habilitar la detección de errores.For example, the UTF32Encoding class provides a constructor that lets you enable error detection.

Consulte también:

GetEncoding(Int32, EncoderFallback, DecoderFallback) GetEncoding(Int32, EncoderFallback, DecoderFallback) GetEncoding(Int32, EncoderFallback, DecoderFallback)

Devuelve la codificación asociada al identificador de página de códigos especificado.Returns the encoding associated with the specified code page identifier. Los parámetros especifican un controlador de errores para los caracteres que no se pueden codificar y para las secuencias de bytes que no se pueden descodificar.Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded.

public:
 static System::Text::Encoding ^ GetEncoding(int codepage, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public static System.Text.Encoding GetEncoding (int codepage, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
static member GetEncoding : int * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding

Parámetros

codepage
Int32 Int32 Int32 Int32

Identificador de página de códigos de la codificación preferida.The code page identifier of the preferred encoding. Se hace una lista de los valores posibles en la columna Página de códigos de la tabla que aparece en el tema de la clase Encoding.Possible values are listed in the Code Page column of the table that appears in the Encoding class topic.

O bien-or- 0 (cero), para utilizar la codificación predeterminada.0 (zero), to use the default encoding.

encoderFallback
EncoderFallback EncoderFallback EncoderFallback EncoderFallback

Objeto que proporciona un procedimiento de control de errores cuando no se puede codificar un carácter con la codificación actual.An object that provides an error-handling procedure when a character cannot be encoded with the current encoding.

decoderFallback
DecoderFallback DecoderFallback DecoderFallback DecoderFallback

Objeto que proporciona un procedimiento de control de errores cuando una secuencia de bytes no se puede descodificar con la codificación actual.An object that provides an error-handling procedure when a byte sequence cannot be decoded with the current encoding.

Devoluciones

Codificación asociada a la página de códigos especificada.The encoding that is associated with the specified code page.

Excepciones

codepage es menor que cero o mayor que 65535.codepage is less than zero or greater than 65535.

codepage no es compatible con la plataforma subyacente.codepage is not supported by the underlying platform.

codepage no es compatible con la plataforma subyacente.codepage is not supported by the underlying platform.

Ejemplos

En el siguiente ejemplo se Encoding.GetEncoding(String, EncoderFallback, DecoderFallback) muestra el método.The following example demonstrates the Encoding.GetEncoding(String, EncoderFallback, DecoderFallback) method.

// This example demonstrates the EncoderReplacementFallback class.

using namespace System;
using namespace System::Text;

int main()
{
    // Create an encoding, which is equivalent to calling the
    // ASCIIEncoding class constructor.
    // The EncoderReplacementFallback parameter specifies that the
    // string, "(unknown)", replace characters that cannot be encoded.
    // A decoder replacement fallback is also specified, but in this
    // code example the decoding operation cannot fail.

    Encoding^ ascii = Encoding::GetEncoding("us-ascii",
        gcnew EncoderReplacementFallback("(unknown)"),
        gcnew DecoderReplacementFallback("(error)"));

    // The input string consists of the Unicode characters LEFT POINTING
    // DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT
    // POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB).
    // The encoding can only encode characters in the US-ASCII range of
    // U+0000 through U+007F. Consequently, the characters bracketing the
    // 'X' character are replaced with the fallback replacement string,
    // "(unknown)".

    String^ inputString = "\u00abX\u00bb";
    String^ decodedString;
    String^ twoNewLines = Environment::NewLine + Environment::NewLine;
    array <Byte>^ encodedBytes = 
        gcnew array<Byte>(ascii->GetByteCount(inputString));
    int numberOfEncodedBytes = 0;

    // ---------------------------------------------------------------------
    Console::Clear();

    // Display the name of the encoding.
    Console::WriteLine("The name of the encoding is \"{0}\".{1}", 
        ascii->WebName, Environment::NewLine);

    // Display the input string in text.
    Console::WriteLine("Input string ({0} characters): \"{1}\"",
        inputString->Length, inputString);

    // Display the input string in hexadecimal.
    Console::Write("Input string in hexadecimal: ");
    for each (char c in inputString)
    {
        Console::Write("0x{0:X2} ", c);
    }
    Console::Write(twoNewLines);

    // ---------------------------------------------------------------------
    // Encode the input string.

    Console::WriteLine("Encode the input string...");
    numberOfEncodedBytes = ascii->GetBytes(inputString, 0, inputString->Length,
        encodedBytes, 0);

    // Display the encoded bytes.
    Console::WriteLine("Encoded bytes in hexadecimal ({0} bytes):{1}",
        numberOfEncodedBytes, Environment::NewLine);
    for(int i = 0; i < encodedBytes->Length; i++)
    {
        Console::Write("0x{0:X2} ", encodedBytes[i]);
        if(((i + 1) % 6) == 0)
        {
            Console::WriteLine();
        }
    }
    Console::Write(twoNewLines);

    // ---------------------------------------------------------------------
    // Decode the encoded bytes, yielding a reconstituted string.

    Console::WriteLine("Decode the encoded bytes...");
    decodedString = ascii->GetString(encodedBytes);

    // Display the input string and the decoded string for comparison.
    Console::WriteLine("Input string:  \"{0}\"", inputString);
    Console::WriteLine("Decoded string:\"{0}\"", decodedString);
}



/*
This code example produces the following results:

The name of the encoding is "us-ascii".

Input string (3 characters): "X"
Input string in hexadecimal: 0xAB 0x58 0xBB

Encode the input string...
Encoded bytes in hexadecimal (19 bytes):

0x28 0x75 0x6E 0x6B 0x6E 0x6F
0x77 0x6E 0x29 0x58 0x28 0x75
0x6E 0x6B 0x6E 0x6F 0x77 0x6E
0x29

Decode the encoded bytes...
Input string:  "X"
Decoded string:"(unknown)X(unknown)"

*/
// This example demonstrates the EncoderReplacementFallback class.

using System;
using System.Text;

class Sample 
{
    public static void Main() 
    {

// Create an encoding, which is equivalent to calling the 
// ASCIIEncoding class constructor. 
// The EncoderReplacementFallback parameter specifies that the
// string, "(unknown)", replace characters that cannot be encoded. 
// A decoder replacement fallback is also specified, but in this 
// code example the decoding operation cannot fail.  

    Encoding ae = Encoding.GetEncoding(
                  "us-ascii",
                  new EncoderReplacementFallback("(unknown)"), 
                  new DecoderReplacementFallback("(error)"));

// The input string consists of the Unicode characters LEFT POINTING 
// DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT POINTING 
// DOUBLE ANGLE QUOTATION MARK (U+00BB). 
// The encoding can only encode characters in the US-ASCII range of U+0000 
// through U+007F. Consequently, the characters bracketing the 'X' character
// are replaced with the fallback replacement string, "(unknown)".

    string inputString = "\u00abX\u00bb";
    string decodedString;
    string twoNewLines = "\n\n";
    byte[] encodedBytes = new byte[ae.GetByteCount(inputString)];
    int numberOfEncodedBytes = 0;
    int ix = 0;

// --------------------------------------------------------------------------
    Console.Clear();

// Display the name of the encoding.
    Console.WriteLine("The name of the encoding is \"{0}\".\n", ae.WebName);

// Display the input string in text.
    Console.WriteLine("Input string ({0} characters): \"{1}\"", 
                       inputString.Length, inputString);

// Display the input string in hexadecimal.
    Console.Write("Input string in hexadecimal: ");
    foreach (char c in inputString.ToCharArray()) 
        {
        Console.Write("0x{0:X2} ", (int)c);
        }
    Console.Write(twoNewLines);

// --------------------------------------------------------------------------
// Encode the input string. 

    Console.WriteLine("Encode the input string...");
    numberOfEncodedBytes = ae.GetBytes(inputString, 0, inputString.Length, 
                                       encodedBytes, 0);

// Display the encoded bytes.
    Console.WriteLine("Encoded bytes in hexadecimal ({0} bytes):\n", 
                       numberOfEncodedBytes);
    ix = 0;
    foreach (byte b in encodedBytes)
        {
        Console.Write("0x{0:X2} ", (int)b);
        ix++;
        if (0 == ix % 6) Console.WriteLine();
        }
    Console.Write(twoNewLines);

// --------------------------------------------------------------------------
// Decode the encoded bytes, yielding a reconstituted string.

    Console.WriteLine("Decode the encoded bytes...");
    decodedString = ae.GetString(encodedBytes);

// Display the input string and the decoded string for comparison.
    Console.WriteLine("Input string:  \"{0}\"", inputString);
    Console.WriteLine("Decoded string:\"{0}\"", decodedString);
    }
}
/*
This code example produces the following results:

The name of the encoding is "us-ascii".

Input string (3 characters): "«X»"
Input string in hexadecimal: 0xAB 0x58 0xBB

Encode the input string...
Encoded bytes in hexadecimal (19 bytes):

0x28 0x75 0x6E 0x6B 0x6E 0x6F
0x77 0x6E 0x29 0x58 0x28 0x75
0x6E 0x6B 0x6E 0x6F 0x77 0x6E
0x29

Decode the encoded bytes...
Input string:  "«X»"
Decoded string:"(unknown)X(unknown)"

*/
' This example demonstrates the EncoderReplacementFallback class.
Imports System.Text

Class Sample
    Public Shared Sub Main() 
        
        ' Create an encoding, which is equivalent to calling the 
        ' ASCIIEncoding class constructor. 
        ' The EncoderReplacementFallback parameter specifies that the 
        ' string, "(unknown)", replace characters that cannot be encoded. 
        ' A decoder replacement fallback is also specified, but in this 
        ' code example the decoding operation cannot fail.  

        Dim erf As New EncoderReplacementFallback("(unknown)")
        Dim drf As New DecoderReplacementFallback("(error)")
        Dim ae As Encoding = Encoding.GetEncoding("us-ascii", erf, drf)
        
        ' The input string consists of the Unicode characters LEFT POINTING 
        ' DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT POINTING 
        ' DOUBLE ANGLE QUOTATION MARK (U+00BB). 
        ' The encoding can only encode characters in the US-ASCII range of U+0000 
        ' through U+007F. Consequently, the characters bracketing the 'X' character
        ' are replaced with the fallback replacement string, "(unknown)".

        Dim inputString As String = "«X»"
        Dim decodedString As String
        Dim twoNewLines As String = vbCrLf & vbCrLf
        Dim ix As Integer = 0
        Dim numberOfEncodedBytes As Integer = ae.GetByteCount(inputString)
        ' Counteract the compiler adding an extra byte to the array.
        Dim encodedBytes(numberOfEncodedBytes - 1) As Byte
        
        ' --------------------------------------------------------------------------
        Console.Clear()
        
        ' Display the name of the encoding.
        Console.WriteLine("The name of the encoding is ""{0}""." & vbCrLf, ae.WebName)
        
        ' Display the input string in text.
        Console.WriteLine("Input string ({0} characters): ""{1}""", _
                           inputString.Length, inputString)
        
        ' Display the input string in hexadecimal. 
        ' Each element is converted to an integer with Convert.ToInt32.
        Console.Write("Input string in hexadecimal: ")
        Dim c As Char
        For Each c In inputString.ToCharArray()
            Console.Write("0x{0:X2} ", Convert.ToInt32(c))
        Next c
        Console.Write(twoNewLines)
        
        ' --------------------------------------------------------------------------
        ' Encode the input string. 
        Console.WriteLine("Encode the input string...")
        numberOfEncodedBytes = ae.GetBytes(inputString, 0, inputString.Length, _
                                           encodedBytes, 0)
        
        ' Display the encoded bytes. 
        ' Each element is converted to an integer with Convert.ToInt32.
        Console.WriteLine("Encoded bytes in hexadecimal ({0} bytes):" & vbCrLf, _
                           numberOfEncodedBytes)
        ix = 0
        Dim b As Byte
        For Each b In encodedBytes
            Console.Write("0x{0:X2} ", Convert.ToInt32(b))
            ix += 1
            If 0 = ix Mod 6 Then
                Console.WriteLine()
            End If
        Next b
        Console.Write(twoNewLines)
        
        ' --------------------------------------------------------------------------
        ' Decode the encoded bytes, yielding a reconstituted string.
        Console.WriteLine("Decode the encoded bytes...")
        decodedString = ae.GetString(encodedBytes)
        
        ' Display the input string and the decoded string for comparison.
        Console.WriteLine("Input string:  ""{0}""", inputString)
        Console.WriteLine("Decoded string:""{0}""", decodedString)
    
    End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'The name of the encoding is "us-ascii".
'
'Input string (3 characters): "X"
'Input string in hexadecimal: 0xAB 0x58 0xBB
'
'Encode the input string...
'Encoded bytes in hexadecimal (19 bytes):
'
'0x28 0x75 0x6E 0x6B 0x6E 0x6F
'0x77 0x6E 0x29 0x58 0x28 0x75
'0x6E 0x6B 0x6E 0x6F 0x77 0x6E
'0x29
'
'Decode the encoded bytes...
'Input string:  "X"
'Decoded string:"(unknown)X(unknown)"
'

Comentarios

Nota

Algunas páginas de códigos no admitidas provocan ArgumentException que se produzca la excepción, mientras NotSupportedExceptionque otras lo hacen.Some unsupported code pages cause the exception ArgumentException to be thrown, whereas others cause NotSupportedException. Por lo tanto, el código debe detectar todas las excepciones indicadas en la sección excepciones.Therefore, your code must catch all exceptions indicated in the Exceptions section.

En el .NET Framework, el GetEncoding método se basa en la plataforma subyacente para admitir la mayoría de las páginas de códigos.In the .NET Framework, the GetEncoding method relies on the underlying platform to support most code pages. Sin embargo, el .NET Framework admite de forma nativa algunas codificaciones.However, the .NET Framework natively supports some encodings. Para obtener una lista de páginas de códigos, Encoding vea el tema de la clase.For a list of code pages, see the Encoding class topic. En .net Core, el GetEncoding método devuelve las codificaciones admitidas de forma nativa por .net Core.In .NET Core, the GetEncoding method returns the encodings natively supported by .NET Core. En ambas implementaciones de .net, puede llamar GetEncodings al método para obtener una matriz de EncodingInfo objetos que contiene información sobre todas las codificaciones disponibles.On both .NET implementations, you can call the GetEncodings method to get an array of EncodingInfo objects that contains information about all available encodings.

Además de las codificaciones que están disponibles de forma nativa en .net Core o que se admiten de forma intrínseca en una versión específica de la plataforma del .NET Framework GetEncoding , el método devuelve cualquier codificación adicional que esté disponible mediante el registro de un EncodingProvider objeto.In addition to the encodings that are natively available on .NET Core or that are intrinsically supported on a specific platform version of the .NET Framework, the GetEncoding method returns any additional encodings that are made available by registering an EncodingProvider object. Si varios EncodingProvider objetos registran la misma codificación, este método devuelve la última registrada.If the same encoding has been registered by multiple EncodingProvider objects, this method returns the last one registered.

También puede proporcionar un valor de 0 para el codepage argumento.You can also supply a value of 0 for the codepage argument. Su comportamiento preciso depende de si alguna codificación se ha puesto a disposición mediante el registro de un EncodingProvider objeto:Its precise behavior depends on whether any encodings have been made available by registering an EncodingProvider object:

  • Si se han registrado uno o más proveedores de codificación, devuelve la codificación del último proveedor registrado que ha elegido devolver una codificación cuando se pasa al GetEncoding método un codepage argumento de 0.If one or more encoding providers have been registered, it returns the encoding of the last registered provider that has chosen to return a encoding when the GetEncoding method is passed a codepage argument of 0.

  • En el .NET Framework, si no se ha registrado ningún proveedor de codificación, si CodePagesEncodingProvider es el proveedor de codificación registrado o si ningún proveedor de codificación registrado controla un codepage valor de 0, devuelve la página de códigos activa.On the .NET Framework, if no encoding provider has been registered, if the CodePagesEncodingProvider is the registered encoding provider, or if no registered encoding provider handles a codepage value of 0, it returns the active code page.

  • En .net Core, si no se ha registrado ningún proveedor de codificación o si ningún proveedor de codificación registrado controla codepage un valor de 0, devuelve la UTF8Encoding codificación.On .NET Core, if no encoding provider has been registered or if no registered encoding provider handles a codepage value of 0, it returns the UTF8Encoding encoding.

Nota

Las páginas de códigos ANSI pueden ser diferentes en distintos equipos y pueden cambiar en un solo equipo, lo que provoca daños en los datos.The ANSI code pages can be different on different computers and can change on a single computer, leading to data corruption. Por este motivo, si la página de códigos activa es una página de códigos ANSI, no se recomienda codificar y descodificar los datos Encoding.GetEncoding(0) mediante la página de códigos predeterminada devuelta por.For this reason, if the active code page is an ANSI code page, encoding and decoding data using the default code page returned by Encoding.GetEncoding(0) is not recommended. Para obtener los resultados más coherentes, debe usar Unicode, como UTF-8 (página de códigos 65001) o UTF-16, en lugar de una página de códigos específica.For the most consistent results, you should use Unicode, such as UTF-8 (code page 65001) or UTF-16, instead of a specific code page.

Para obtener la codificación asociada a la página de códigos activa, puede proporcionar un valor de 0 para el codepage argumento o bien, si el código se está ejecutando en el .NET Framework en el escritorio de Windows, recupere el valor de la Encoding.Default propiedad.To get the encoding associated with the active code page, you can either supply a value of 0 for the codepage argument or, if your code is running on the .NET Framework on the Windows desktop, retrieve the value of the Encoding.Default property. Para determinar la página de códigos activa actual, llame a la función GetACP de Windows desde el .NET Framework en el escritorio de Windows.To determine the current active code page, call the Windows GetACP function from the .NET Framework on the Windows desktop.

GetEncodingDevuelve una instancia almacenada en caché con la configuración predeterminada.GetEncoding returns a cached instance with default settings. Debe utilizar los constructores de clases derivadas para obtener una instancia de con una configuración diferente.You should use the constructors of derived classes to get an instance with different settings. Por ejemplo, la UTF32Encoding clase proporciona un constructor que le permite habilitar la detección de errores.For example, the UTF32Encoding class provides a constructor that lets you enable error detection.

Consulte también:

GetEncoding(String, EncoderFallback, DecoderFallback) GetEncoding(String, EncoderFallback, DecoderFallback) GetEncoding(String, EncoderFallback, DecoderFallback)

Devuelve la codificación asociada al nombre especificado de la página de códigos.Returns the encoding associated with the specified code page name. Los parámetros especifican un controlador de errores para los caracteres que no se pueden codificar y para las secuencias de bytes que no se pueden descodificar.Parameters specify an error handler for characters that cannot be encoded and byte sequences that cannot be decoded.

public:
 static System::Text::Encoding ^ GetEncoding(System::String ^ name, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public static System.Text.Encoding GetEncoding (string name, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
static member GetEncoding : string * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding

Parámetros

name
String String String String

Nombre de la página de códigos de la codificación preferida.The code page name of the preferred encoding. Cualquier valor devuelto por la propiedad WebName es válido.Any value returned by the WebName property is valid. Se hace una lista de los valores posibles en la columna Nombre de la tabla que aparece en el tema de la clase Encoding.Possible values are listed in the Name column of the table that appears in the Encoding class topic.

encoderFallback
EncoderFallback EncoderFallback EncoderFallback EncoderFallback

Objeto que proporciona un procedimiento de control de errores cuando no se puede codificar un carácter con la codificación actual.An object that provides an error-handling procedure when a character cannot be encoded with the current encoding.

decoderFallback
DecoderFallback DecoderFallback DecoderFallback DecoderFallback

Objeto que proporciona un procedimiento de control de errores cuando una secuencia de bytes no se puede descodificar con la codificación actual.An object that provides an error-handling procedure when a byte sequence cannot be decoded with the current encoding.

Devoluciones

Codificación asociada a la página de códigos especificada.The encoding that is associated with the specified code page.

Excepciones

name no es un nombre de página de códigos válido.name is not a valid code page name.

O bien-or- La página de códigos indicada por name no es compatible con la plataforma subyacente.The code page indicated by name is not supported by the underlying platform.

Ejemplos

En el siguiente ejemplo se Encoding.GetEncoding(String, EncoderFallback, DecoderFallback) muestra el método.The following example demonstrates the Encoding.GetEncoding(String, EncoderFallback, DecoderFallback) method.

// This example demonstrates the EncoderReplacementFallback class.

using namespace System;
using namespace System::Text;

int main()
{
    // Create an encoding, which is equivalent to calling the
    // ASCIIEncoding class constructor.
    // The EncoderReplacementFallback parameter specifies that the
    // string, "(unknown)", replace characters that cannot be encoded.
    // A decoder replacement fallback is also specified, but in this
    // code example the decoding operation cannot fail.

    Encoding^ ascii = Encoding::GetEncoding("us-ascii",
        gcnew EncoderReplacementFallback("(unknown)"),
        gcnew DecoderReplacementFallback("(error)"));

    // The input string consists of the Unicode characters LEFT POINTING
    // DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT
    // POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB).
    // The encoding can only encode characters in the US-ASCII range of
    // U+0000 through U+007F. Consequently, the characters bracketing the
    // 'X' character are replaced with the fallback replacement string,
    // "(unknown)".

    String^ inputString = "\u00abX\u00bb";
    String^ decodedString;
    String^ twoNewLines = Environment::NewLine + Environment::NewLine;
    array <Byte>^ encodedBytes = 
        gcnew array<Byte>(ascii->GetByteCount(inputString));
    int numberOfEncodedBytes = 0;

    // ---------------------------------------------------------------------
    Console::Clear();

    // Display the name of the encoding.
    Console::WriteLine("The name of the encoding is \"{0}\".{1}", 
        ascii->WebName, Environment::NewLine);

    // Display the input string in text.
    Console::WriteLine("Input string ({0} characters): \"{1}\"",
        inputString->Length, inputString);

    // Display the input string in hexadecimal.
    Console::Write("Input string in hexadecimal: ");
    for each (char c in inputString)
    {
        Console::Write("0x{0:X2} ", c);
    }
    Console::Write(twoNewLines);

    // ---------------------------------------------------------------------
    // Encode the input string.

    Console::WriteLine("Encode the input string...");
    numberOfEncodedBytes = ascii->GetBytes(inputString, 0, inputString->Length,
        encodedBytes, 0);

    // Display the encoded bytes.
    Console::WriteLine("Encoded bytes in hexadecimal ({0} bytes):{1}",
        numberOfEncodedBytes, Environment::NewLine);
    for(int i = 0; i < encodedBytes->Length; i++)
    {
        Console::Write("0x{0:X2} ", encodedBytes[i]);
        if(((i + 1) % 6) == 0)
        {
            Console::WriteLine();
        }
    }
    Console::Write(twoNewLines);

    // ---------------------------------------------------------------------
    // Decode the encoded bytes, yielding a reconstituted string.

    Console::WriteLine("Decode the encoded bytes...");
    decodedString = ascii->GetString(encodedBytes);

    // Display the input string and the decoded string for comparison.
    Console::WriteLine("Input string:  \"{0}\"", inputString);
    Console::WriteLine("Decoded string:\"{0}\"", decodedString);
}



/*
This code example produces the following results:

The name of the encoding is "us-ascii".

Input string (3 characters): "X"
Input string in hexadecimal: 0xAB 0x58 0xBB

Encode the input string...
Encoded bytes in hexadecimal (19 bytes):

0x28 0x75 0x6E 0x6B 0x6E 0x6F
0x77 0x6E 0x29 0x58 0x28 0x75
0x6E 0x6B 0x6E 0x6F 0x77 0x6E
0x29

Decode the encoded bytes...
Input string:  "X"
Decoded string:"(unknown)X(unknown)"

*/
// This example demonstrates the EncoderReplacementFallback class.

using System;
using System.Text;

class Sample 
{
    public static void Main() 
    {

// Create an encoding, which is equivalent to calling the 
// ASCIIEncoding class constructor. 
// The EncoderReplacementFallback parameter specifies that the
// string, "(unknown)", replace characters that cannot be encoded. 
// A decoder replacement fallback is also specified, but in this 
// code example the decoding operation cannot fail.  

    Encoding ae = Encoding.GetEncoding(
                  "us-ascii",
                  new EncoderReplacementFallback("(unknown)"), 
                  new DecoderReplacementFallback("(error)"));

// The input string consists of the Unicode characters LEFT POINTING 
// DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT POINTING 
// DOUBLE ANGLE QUOTATION MARK (U+00BB). 
// The encoding can only encode characters in the US-ASCII range of U+0000 
// through U+007F. Consequently, the characters bracketing the 'X' character
// are replaced with the fallback replacement string, "(unknown)".

    string inputString = "\u00abX\u00bb";
    string decodedString;
    string twoNewLines = "\n\n";
    byte[] encodedBytes = new byte[ae.GetByteCount(inputString)];
    int numberOfEncodedBytes = 0;
    int ix = 0;

// --------------------------------------------------------------------------
    Console.Clear();

// Display the name of the encoding.
    Console.WriteLine("The name of the encoding is \"{0}\".\n", ae.WebName);

// Display the input string in text.
    Console.WriteLine("Input string ({0} characters): \"{1}\"", 
                       inputString.Length, inputString);

// Display the input string in hexadecimal.
    Console.Write("Input string in hexadecimal: ");
    foreach (char c in inputString.ToCharArray()) 
        {
        Console.Write("0x{0:X2} ", (int)c);
        }
    Console.Write(twoNewLines);

// --------------------------------------------------------------------------
// Encode the input string. 

    Console.WriteLine("Encode the input string...");
    numberOfEncodedBytes = ae.GetBytes(inputString, 0, inputString.Length, 
                                       encodedBytes, 0);

// Display the encoded bytes.
    Console.WriteLine("Encoded bytes in hexadecimal ({0} bytes):\n", 
                       numberOfEncodedBytes);
    ix = 0;
    foreach (byte b in encodedBytes)
        {
        Console.Write("0x{0:X2} ", (int)b);
        ix++;
        if (0 == ix % 6) Console.WriteLine();
        }
    Console.Write(twoNewLines);

// --------------------------------------------------------------------------
// Decode the encoded bytes, yielding a reconstituted string.

    Console.WriteLine("Decode the encoded bytes...");
    decodedString = ae.GetString(encodedBytes);

// Display the input string and the decoded string for comparison.
    Console.WriteLine("Input string:  \"{0}\"", inputString);
    Console.WriteLine("Decoded string:\"{0}\"", decodedString);
    }
}
/*
This code example produces the following results:

The name of the encoding is "us-ascii".

Input string (3 characters): "«X»"
Input string in hexadecimal: 0xAB 0x58 0xBB

Encode the input string...
Encoded bytes in hexadecimal (19 bytes):

0x28 0x75 0x6E 0x6B 0x6E 0x6F
0x77 0x6E 0x29 0x58 0x28 0x75
0x6E 0x6B 0x6E 0x6F 0x77 0x6E
0x29

Decode the encoded bytes...
Input string:  "«X»"
Decoded string:"(unknown)X(unknown)"

*/
' This example demonstrates the EncoderReplacementFallback class.
Imports System.Text

Class Sample
    Public Shared Sub Main() 
        
        ' Create an encoding, which is equivalent to calling the 
        ' ASCIIEncoding class constructor. 
        ' The EncoderReplacementFallback parameter specifies that the 
        ' string, "(unknown)", replace characters that cannot be encoded. 
        ' A decoder replacement fallback is also specified, but in this 
        ' code example the decoding operation cannot fail.  

        Dim erf As New EncoderReplacementFallback("(unknown)")
        Dim drf As New DecoderReplacementFallback("(error)")
        Dim ae As Encoding = Encoding.GetEncoding("us-ascii", erf, drf)
        
        ' The input string consists of the Unicode characters LEFT POINTING 
        ' DOUBLE ANGLE QUOTATION MARK (U+00AB), 'X' (U+0058), and RIGHT POINTING 
        ' DOUBLE ANGLE QUOTATION MARK (U+00BB). 
        ' The encoding can only encode characters in the US-ASCII range of U+0000 
        ' through U+007F. Consequently, the characters bracketing the 'X' character
        ' are replaced with the fallback replacement string, "(unknown)".

        Dim inputString As String = "«X»"
        Dim decodedString As String
        Dim twoNewLines As String = vbCrLf & vbCrLf
        Dim ix As Integer = 0
        Dim numberOfEncodedBytes As Integer = ae.GetByteCount(inputString)
        ' Counteract the compiler adding an extra byte to the array.
        Dim encodedBytes(numberOfEncodedBytes - 1) As Byte
        
        ' --------------------------------------------------------------------------
        Console.Clear()
        
        ' Display the name of the encoding.
        Console.WriteLine("The name of the encoding is ""{0}""." & vbCrLf, ae.WebName)
        
        ' Display the input string in text.
        Console.WriteLine("Input string ({0} characters): ""{1}""", _
                           inputString.Length, inputString)
        
        ' Display the input string in hexadecimal. 
        ' Each element is converted to an integer with Convert.ToInt32.
        Console.Write("Input string in hexadecimal: ")
        Dim c As Char
        For Each c In inputString.ToCharArray()
            Console.Write("0x{0:X2} ", Convert.ToInt32(c))
        Next c
        Console.Write(twoNewLines)
        
        ' --------------------------------------------------------------------------
        ' Encode the input string. 
        Console.WriteLine("Encode the input string...")
        numberOfEncodedBytes = ae.GetBytes(inputString, 0, inputString.Length, _
                                           encodedBytes, 0)
        
        ' Display the encoded bytes. 
        ' Each element is converted to an integer with Convert.ToInt32.
        Console.WriteLine("Encoded bytes in hexadecimal ({0} bytes):" & vbCrLf, _
                           numberOfEncodedBytes)
        ix = 0
        Dim b As Byte
        For Each b In encodedBytes
            Console.Write("0x{0:X2} ", Convert.ToInt32(b))
            ix += 1
            If 0 = ix Mod 6 Then
                Console.WriteLine()
            End If
        Next b
        Console.Write(twoNewLines)
        
        ' --------------------------------------------------------------------------
        ' Decode the encoded bytes, yielding a reconstituted string.
        Console.WriteLine("Decode the encoded bytes...")
        decodedString = ae.GetString(encodedBytes)
        
        ' Display the input string and the decoded string for comparison.
        Console.WriteLine("Input string:  ""{0}""", inputString)
        Console.WriteLine("Decoded string:""{0}""", decodedString)
    
    End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'The name of the encoding is "us-ascii".
'
'Input string (3 characters): "X"
'Input string in hexadecimal: 0xAB 0x58 0xBB
'
'Encode the input string...
'Encoded bytes in hexadecimal (19 bytes):
'
'0x28 0x75 0x6E 0x6B 0x6E 0x6F
'0x77 0x6E 0x29 0x58 0x28 0x75
'0x6E 0x6B 0x6E 0x6F 0x77 0x6E
'0x29
'
'Decode the encoded bytes...
'Input string:  "X"
'Decoded string:"(unknown)X(unknown)"
'

Comentarios

En el .NET Framework, el GetEncoding método se basa en la plataforma subyacente para admitir la mayoría de las páginas de códigos.In the .NET Framework, the GetEncoding method relies on the underlying platform to support most code pages. Sin embargo, el .NET Framework admite de forma nativa algunas codificaciones.However, the .NET Framework natively supports some encodings. Para obtener una lista de páginas de códigos, Encoding vea el tema de la clase.For a list of code pages, see the Encoding class topic. En .net Core, el GetEncoding método devuelve las codificaciones admitidas de forma nativa por .net Core.In .NET Core, the GetEncoding method returns the encodings natively supported by .NET Core. En ambas implementaciones de .net, puede llamar GetEncodings al método para obtener una matriz de EncodingInfo objetos que contiene información sobre todas las codificaciones disponibles.On both .NET implementations, you can call the GetEncodings method to get an array of EncodingInfo objects that contains information about all available encodings.

Además de las codificaciones que están disponibles de forma nativa en .net Core o que se admiten de forma intrínseca en una versión específica de la plataforma del .NET Framework GetEncoding , el método devuelve cualquier codificación adicional que esté disponible mediante el registro de un EncodingProvider objeto.In addition to the encodings that are natively available on .NET Core or that are intrinsically supported on a specific platform version of the .NET Framework, the GetEncoding method returns any additional encodings that are made available by registering an EncodingProvider object. Si varios EncodingProvider objetos registran la misma codificación, este método devuelve la última registrada.If the same encoding has been registered by multiple EncodingProvider objects, this method returns the last one registered.

Nota

Las páginas de códigos ANSI pueden ser diferentes en distintos equipos y pueden cambiar en un solo equipo, lo que provoca daños en los datos.The ANSI code pages can be different on different computers and can change on a single computer, leading to data corruption. Para obtener los resultados más coherentes, debe usar una codificación Unicode, como UTF-8 (página de códigos 65001) o UTF-16, en lugar de una página de códigos específica.For the most consistent results, you should use a Unicode encoding, such as UTF-8 (code page 65001) or UTF-16, instead of a specific code page.

GetEncodingDevuelve una instancia almacenada en caché con la configuración predeterminada.GetEncoding returns a cached instance with default settings. Debe utilizar los constructores de clases derivadas para obtener una instancia de con una configuración diferente.You should use the constructors of derived classes to get an instance with different settings. Por ejemplo, la UTF32Encoding clase proporciona un constructor que le permite habilitar la detección de errores.For example, the UTF32Encoding class provides a constructor that lets you enable error detection.

Consulte también:

Se aplica a