Udostępnij za pośrednictwem


Encoding.Convert Metoda

Definicja

Konwertuje tablicę bajtów z jednego kodowania na inny.

Przeciążenia

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

Konwertuje zakres bajtów w tablicy bajtów z jednego kodowania na inny.

Convert(Encoding, Encoding, Byte[])

Konwertuje całą tablicę bajtów z jednego kodowania na inny.

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

Źródło:
Encoding.cs
Źródło:
Encoding.cs
Źródło:
Encoding.cs

Konwertuje zakres bajtów w tablicy bajtów z jednego kodowania na inny.

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

Kodowanie tablicy źródłowej bytes.

dstEncoding
Encoding

Kodowanie tablicy wyjściowej.

bytes
Byte[]

Tablica bajtów do przekonwertowania.

index
Int32

Indeks pierwszego elementu bytes do konwersji.

count
Int32

Liczba bajtów do przekonwertowania.

Zwraca

Byte[]

Tablica typu Byte zawierająca wynik konwersji zakresu bajtów w bytes z srcEncoding na dstEncoding.

Wyjątki

srcEncoding jest null.

-lub-

dstEncoding jest null.

-lub-

bytes jest null.

index i count nie określają prawidłowego zakresu w tablicy bajtów.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz kodowanie znaków na platformie .NET)

-i-

srcEncoding.DecoderFallback jest ustawiona na wartość DecoderExceptionFallback.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz kodowanie znaków na platformie .NET)

-i-

dstEncoding.EncoderFallback jest ustawiona na wartość EncoderExceptionFallback.

Dotyczy

Convert(Encoding, Encoding, Byte[])

Źródło:
Encoding.cs
Źródło:
Encoding.cs
Źródło:
Encoding.cs

Konwertuje całą tablicę bajtów z jednego kodowania na inny.

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

Format kodowania bytes.

dstEncoding
Encoding

Docelowy format kodowania.

bytes
Byte[]

Bajty do przekonwertowania.

Zwraca

Byte[]

Tablica typu Byte zawierająca wyniki konwersji bytes z srcEncoding na dstEncoding.

Wyjątki

srcEncoding jest null.

-lub-

dstEncoding jest null.

-lub-

bytes jest null.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz kodowanie znaków na platformie .NET)

-i-

srcEncoding.DecoderFallback jest ustawiona na wartość DecoderExceptionFallback.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz kodowanie znaków na platformie .NET)

-i-

dstEncoding.EncoderFallback jest ustawiona na wartość EncoderExceptionFallback.

Przykłady

Poniższy przykład konwertuje ciąg zakodowany w formacie Unicode na ciąg zakodowany w formacie ASCII. Ponieważ obiekt kodowania ASCII zwracany przez właściwość ASCII używa rezerwowego zastąpienia, a znak Pi nie jest częścią zestawu znaków ASCII, znak Pi jest zastępowany znakiem zapytania, jak pokazuje dane wyjściowe z przykładu.

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

Dotyczy