Encoding.Convert Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Converte um array de bytes de uma codificação para outra.
Sobrecargas
| Name | Description |
|---|---|
| Convert(Encoding, Encoding, Byte[], Int32, Int32) |
Converte um intervalo de bytes num array de bytes de uma codificação para outra. |
| Convert(Encoding, Encoding, Byte[]) |
Converte um array inteiro de bytes de uma codificação para outra. |
Convert(Encoding, Encoding, Byte[], Int32, Int32)
Converte um intervalo de bytes num array 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 do array de origem, bytes.
- dstEncoding
- Encoding
A codificação do array de saída.
- bytes
- Byte[]
O array de bytes a converter.
- index
- Int32
O índice do primeiro elemento de bytes a converter.
- count
- Int32
O número de bytes a converter.
Devoluções
Um array de tipo Byte contendo o resultado da conversão de um intervalo de bytes em bytes de srcEncoding para dstEncoding.
Exceções
index e count não especifiquem um intervalo válido no array de bytes.
Ocorreu um recurso de recurso (para mais informações, veja Codificação de Caracteres em .NET)
- e -
srcEncoding.DecoderFallback está definido para DecoderExceptionFallback.
Ocorreu um recurso de recurso (para mais informações, veja Codificação de Caracteres em .NET)
- e -
dstEncoding.EncoderFallback está definido para EncoderExceptionFallback.
Aplica-se a
Convert(Encoding, Encoding, Byte[])
Converte um array inteiro 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);
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 alvo.
- bytes
- Byte[]
Os bytes a converter.
Devoluções
Um array de tipo Byte contendo os resultados da conversão bytes de srcEncoding para dstEncoding.
Exceções
Ocorreu um recurso de recurso (para mais informações, veja Codificação de Caracteres em .NET)
- e -
srcEncoding.DecoderFallback está definido para DecoderExceptionFallback.
Ocorreu um recurso de recurso (para mais informações, veja Codificação de Caracteres em .NET)
- e -
dstEncoding.EncoderFallback está definido para EncoderExceptionFallback.
Exemplos
O exemplo seguinte converte uma cadeia codificada em Unicode numa cadeia codificada em ASCII. Como o objeto de codificação ASCII devolvido pela ASCII propriedade usa um recurso de substituição e o carácter Pi não faz parte do conjunto de caracteres ASCII, o carácter Pi é substituído por um ponto de interrogação, como mostra a saída do exemplo.
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 (?)