Sdílet prostřednictvím


Encoding.Convert Metoda

Definice

Převede bajtové pole z jednoho kódování na druhé.

Přetížení

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

Převede rozsah bajtů v bajtovém poli z jednoho kódování na druhý.

Convert(Encoding, Encoding, Byte[])

Převede celé bajtové pole z jednoho kódování na druhé.

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

Zdroj:
Encoding.cs
Zdroj:
Encoding.cs
Zdroj:
Encoding.cs
Zdroj:
Encoding.cs
Zdroj:
Encoding.cs

Převede rozsah bajtů v bajtovém poli z jednoho kódování na druhý.

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()

Parametry

srcEncoding
Encoding

Kódování zdrojového pole, bytes.

dstEncoding
Encoding

Kódování výstupního pole.

bytes
Byte[]

Pole bajtů, které chcete převést.

index
Int32

Index prvního prvku, který bytes má být převeden.

count
Int32

Počet bajtů, které chcete převést.

Návraty

Byte[]

Matice typu Byte obsahující výsledek převodu rozsahu bajtů z bytessrcEncoding na dstEncoding.

Výjimky

srcEncoding je null.

-nebo-

dstEncoding je null.

-nebo-

bytes je null.

index a count nezadávejte platnou oblast v bajtovém poli.

Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).

-a-

srcEncoding.DecoderFallback je nastavena na DecoderExceptionFallbackhodnotu .

Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).

-a-

dstEncoding.EncoderFallback je nastavena na EncoderExceptionFallbackhodnotu .

Platí pro

Convert(Encoding, Encoding, Byte[])

Zdroj:
Encoding.cs
Zdroj:
Encoding.cs
Zdroj:
Encoding.cs
Zdroj:
Encoding.cs
Zdroj:
Encoding.cs

Převede celé bajtové pole z jednoho kódování na druhé.

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()

Parametry

srcEncoding
Encoding

Formát kódování .bytes

dstEncoding
Encoding

Cílový formát kódování.

bytes
Byte[]

Bajty, které chcete převést.

Návraty

Byte[]

Pole typu Byte obsahující výsledky převodu bytes z srcEncoding na dstEncoding.

Výjimky

srcEncoding je null.

-nebo-

dstEncoding je null.

-nebo-

bytes je null.

Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).

-a-

srcEncoding.DecoderFallback je nastavena na DecoderExceptionFallbackhodnotu .

Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).

-a-

dstEncoding.EncoderFallback je nastavena na EncoderExceptionFallbackhodnotu .

Příklady

Následující příklad převede řetězec kódovaný kódem Unicode na řetězec kódovaný ASCII. Vzhledem k tomu, že objekt kódování ASCII vrácený ASCII vlastností používá náhradní náhradní a znak Pi není součástí znakové sady ASCII, znak Pi je nahrazen otazníkem, jak ukazuje výstup z příkladu.

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

Platí pro