Encoding.Convert Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
public:
static cli::array <System::Byte> ^ Convert(System::Text::Encoding ^ srcEncoding, System::Text::Encoding ^ dstEncoding, cli::array <System::Byte> ^ bytes, int index, int count);
public static byte[] Convert (System.Text.Encoding srcEncoding, System.Text.Encoding dstEncoding, byte[] bytes, int index, int count);
static member Convert : System.Text.Encoding * System.Text.Encoding * byte[] * int * int -> byte[]
Public Shared Function Convert (srcEncoding As Encoding, dstEncoding As Encoding, bytes As Byte(), index As Integer, count As Integer) As Byte()
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
Matriz de tipo Byte que contiene el resultado de convertir un intervalo de bytes en bytes
de srcEncoding
a dstEncoding
.
Excepciones
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
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.
public:
static cli::array <System::Byte> ^ Convert(System::Text::Encoding ^ srcEncoding, System::Text::Encoding ^ dstEncoding, cli::array <System::Byte> ^ bytes);
public static byte[] Convert (System.Text.Encoding srcEncoding, System.Text.Encoding dstEncoding, byte[] bytes);
static member Convert : System.Text.Encoding * System.Text.Encoding * byte[] -> byte[]
Public Shared Function Convert (srcEncoding As Encoding, dstEncoding As Encoding, bytes As Byte()) As Byte()
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
Matriz de tipo Byte que contiene los resultados de la conversión de bytes
de srcEncoding
a dstEncoding
.
Excepciones
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.
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 (?)