Ler en inglés

Compartir por


Encoding.Convert Método

Definición

Convierte una matriz de bytes de una codificación a otra.

Sobrecargas

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

Convierte un intervalo de bytes en una matriz de bytes de una codificación a otra.

Convert(Encoding, Encoding, Byte[])

Convierte una matriz de bytes completa de una codificación a otra.

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

Source:
Encoding.cs
Source:
Encoding.cs
Source:
Encoding.cs

Convierte un intervalo de bytes en una matriz de bytes de una codificación a otra.

C#
public static byte[] Convert (System.Text.Encoding srcEncoding, System.Text.Encoding dstEncoding, byte[] bytes, int index, int count);

Parámetros

srcEncoding
Encoding

Codificación de la matriz de origen, bytes.

dstEncoding
Encoding

Codificación de la matriz de salida.

bytes
Byte[]

Matriz de bytes que se va a convertir.

index
Int32

Índice del primer elemento de bytes que se va a convertir.

count
Int32

Número de bytes que se van a convertir.

Devoluciones

Byte[]

Matriz de tipo Byte que contiene el resultado de convertir un intervalo de bytes en bytes de srcEncoding a dstEncoding.

Excepciones

srcEncoding es null.

-o-

dstEncoding es null.

-o-

bytes es null.

index y count no especifican un intervalo válido en la matriz de bytes.

Se produjo una reserva (para obtener más información, vea codificación de caracteres en .NET)

-y-

srcEncoding.DecoderFallback se establece en DecoderExceptionFallback.

Se produjo una reserva (para obtener más información, vea codificación de caracteres en .NET)

-y-

dstEncoding.EncoderFallback se establece en EncoderExceptionFallback.

Se aplica a

.NET 9 e outras versións
Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Convert(Encoding, Encoding, Byte[])

Source:
Encoding.cs
Source:
Encoding.cs
Source:
Encoding.cs

Convierte una matriz de bytes completa de una codificación a otra.

C#
public static byte[] Convert (System.Text.Encoding srcEncoding, System.Text.Encoding dstEncoding, byte[] bytes);

Parámetros

srcEncoding
Encoding

Formato de codificación de bytes.

dstEncoding
Encoding

Formato de codificación de destino.

bytes
Byte[]

Bytes que se van a convertir.

Devoluciones

Byte[]

Matriz de tipo Byte que contiene los resultados de la conversión de bytes de srcEncoding a dstEncoding.

Excepciones

srcEncoding es null.

-o-

dstEncoding es null.

-o-

bytes es null.

Se produjo una reserva (para obtener más información, vea codificación de caracteres en .NET)

-y-

srcEncoding.DecoderFallback se establece en DecoderExceptionFallback.

Se produjo una reserva (para obtener más información, vea codificación de caracteres en .NET)

-y-

dstEncoding.EncoderFallback se establece en EncoderExceptionFallback.

Ejemplos

En el ejemplo siguiente se convierte una cadena con codificación Unicode en una cadena codificada en ASCII. Dado que el objeto de codificación ASCII devuelto por la propiedad ASCII usa reserva de reemplazo y el carácter Pi no forma parte del juego de caracteres ASCII, el carácter Pi se reemplaza por un signo de interrogación, como se muestra en la salida del ejemplo.

C#
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 (?)

Se aplica a

.NET 9 e outras versións
Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0