Encoding.Convert Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte uma matriz de bytes de uma codificação em outra.
Sobrecargas
| Convert(Encoding, Encoding, Byte[], Int32, Int32) |
Converte um intervalo de bytes em uma matriz de bytes de uma codificação para outra. |
| Convert(Encoding, Encoding, Byte[]) |
Converte uma matriz de bytes inteira de uma codificação para outra. |
Convert(Encoding, Encoding, Byte[], Int32, Int32)
- Origem:
- Encoding.cs
- Origem:
- Encoding.cs
- Origem:
- Encoding.cs
Converte um intervalo de bytes em uma matriz de bytes de uma codificação para outra.
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
A codificação da matriz de origem, bytes.
- dstEncoding
- Encoding
A codificação da matriz de saída.
- bytes
- Byte[]
A matriz de bytes a serem convertidos.
- index
- Int32
O índice do primeiro elemento de bytes a ser convertido.
- count
- Int32
O número de bytes a serem convertidos.
Retornos
Uma matriz de tipo Byte que contém o resultado da conversão de um intervalo de bytes em bytes de srcEncoding para dstEncoding.
Exceções
index e count não especificam um intervalo válido na matriz de bytes.
Ocorreu um fallback (para obter mais informações, consulte codificação de caracteres no .NET)
-e-
srcEncoding.DecoderFallback está definido como DecoderExceptionFallback.
Ocorreu um fallback (para obter mais informações, consulte codificação de caracteres no .NET)
-e-
dstEncoding.EncoderFallback está definido como EncoderExceptionFallback.
Aplica-se a
Convert(Encoding, Encoding, Byte[])
- Origem:
- Encoding.cs
- Origem:
- Encoding.cs
- Origem:
- Encoding.cs
Converte uma matriz de bytes inteira de uma codificação para outra.
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
O formato de codificação de bytes.
- dstEncoding
- Encoding
O formato de codificação de destino.
- bytes
- Byte[]
Os bytes a serem convertidos.
Retornos
Uma matriz de tipo Byte que contém os resultados da conversão de bytes de srcEncoding para dstEncoding.
Exceções
Ocorreu um fallback (para obter mais informações, consulte codificação de caracteres no .NET)
-e-
srcEncoding.DecoderFallback está definido como DecoderExceptionFallback.
Ocorreu um fallback (para obter mais informações, consulte codificação de caracteres no .NET)
-e-
dstEncoding.EncoderFallback está definido como EncoderExceptionFallback.
Exemplos
O exemplo a seguir converte uma cadeia de caracteres codificada por Unicode em uma cadeia de caracteres codificada em ASCII. Como o objeto de codificação ASCII retornado pela propriedade ASCII usa fallback de substituição e o caractere Pi não faz parte do conjunto de caracteres ASCII, o caractere Pi é substituído por um ponto de interrogação, como mostra a saída do exemplo.
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 (?)