Teilen über


Encoding.Convert Methode

Definition

Konvertiert ein Bytearray von einer Codierung in eine andere.

Überlädt

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

Wandelt einen Bytebereich in einem Bytearray von einer Codierung in eine andere um.

Convert(Encoding, Encoding, Byte[])

Konvertiert ein gesamtes Bytearray von einer Codierung in eine andere.

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

Quelle:
Encoding.cs
Quelle:
Encoding.cs
Quelle:
Encoding.cs

Wandelt einen Bytebereich in einem Bytearray von einer Codierung in eine andere um.

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

Parameter

srcEncoding
Encoding

Die Codierung des Quellarrays, bytes.

dstEncoding
Encoding

Die Codierung des Ausgabearrays.

bytes
Byte[]

Das Array der zu konvertierenden Bytes.

index
Int32

Der Index des ersten zu konvertierenden elements von bytes.

count
Int32

Die Anzahl der zu konvertierenden Bytes.

Gibt zurück

Byte[]

Ein Array vom Typ Byte, das das Ergebnis der Konvertierung eines Bytebereichs in bytes von srcEncoding in dstEncodingenthält.

Ausnahmen

srcEncoding ist null.

-oder-

dstEncoding ist null.

-oder-

bytes ist null.

index und count geben keinen gültigen Bereich im Bytearray an.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET)

-und-

srcEncoding.DecoderFallback ist auf DecoderExceptionFallbackfestgelegt.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET)

-und-

dstEncoding.EncoderFallback ist auf EncoderExceptionFallbackfestgelegt.

Gilt für:

Convert(Encoding, Encoding, Byte[])

Quelle:
Encoding.cs
Quelle:
Encoding.cs
Quelle:
Encoding.cs

Konvertiert ein gesamtes Bytearray von einer Codierung in eine andere.

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

Parameter

srcEncoding
Encoding

Das Codierungsformat von bytes.

dstEncoding
Encoding

Das Zielcodierungsformat.

bytes
Byte[]

Die zu konvertierenden Bytes.

Gibt zurück

Byte[]

Ein Array vom Typ Byte, das die Ergebnisse der Konvertierung von bytes von srcEncoding in dstEncodingenthält.

Ausnahmen

srcEncoding ist null.

-oder-

dstEncoding ist null.

-oder-

bytes ist null.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET)

-und-

srcEncoding.DecoderFallback ist auf DecoderExceptionFallbackfestgelegt.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET)

-und-

dstEncoding.EncoderFallback ist auf EncoderExceptionFallbackfestgelegt.

Beispiele

Im folgenden Beispiel wird eine Unicode-codierte Zeichenfolge in eine ASCII-codierte Zeichenfolge konvertiert. Da das von der ASCII-Eigenschaft zurückgegebene ASCII-Codierungsobjekt ersatzfallback verwendet und das Pi-Zeichen nicht Teil des ASCII-Zeichensatzes ist, wird das Pi-Zeichen durch ein Fragezeichen ersetzt, wie die Ausgabe aus dem Beispiel zeigt.

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

Gilt für: