Encoding.Convert Méthode

Définition

Convertit un tableau d'octets d'un encodage à un autre.

Surcharges

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

Convertit une plage d'octets d'un encodage à un autre dans un tableau d'octets.

Convert(Encoding, Encoding, Byte[])

Convertit un tableau d'octets entier d'un encodage à un autre.

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

Convertit une plage d'octets d'un encodage à un autre dans un tableau d'octets.

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

Paramètres

srcEncoding
Encoding

Encodage du tableau source, bytes.

dstEncoding
Encoding

Encodage du tableau de sortie.

bytes
Byte[]

Tableau d'octets à convertir.

index
Int32

Index du premier élément de bytes à convertir.

count
Int32

Nombre d'octets à convertir.

Retours

Byte[]

Tableau de type Byte contenant le résultat de la conversion d'une plage d'octets de bytes de srcEncoding en dstEncoding.

Exceptions

srcEncoding a la valeur null.

-ou-

dstEncoding a la valeur null.

-ou-

bytes a la valeur null.

index et count ne spécifient pas une plage valide du tableau d'octets.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)

-et-

srcEncoding. DecoderFallback a la valeur DecoderExceptionFallback.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)

-et-

dstEncoding. EncoderFallback a la valeur EncoderExceptionFallback.

S’applique à

Convert(Encoding, Encoding, Byte[])

Convertit un tableau d'octets entier d'un encodage à un autre.

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

Paramètres

srcEncoding
Encoding

Format d'encodage de bytes.

dstEncoding
Encoding

Format d'encodage cible.

bytes
Byte[]

Octets à convertir.

Retours

Byte[]

Tableau de type Byte contenant le résultat de la conversion de bytes de srcEncoding en dstEncoding.

Exceptions

srcEncoding a la valeur null.

-ou-

dstEncoding a la valeur null.

-ou-

bytes a la valeur null.

Une action de secours s’est produite (pour plus d’informations, consultez Encodage de caractères dans .NET)

-et-

srcEncoding. DecoderFallback a la valeur DecoderExceptionFallback.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)

-et-

dstEncoding. EncoderFallback a la valeur EncoderExceptionFallback.

Exemples

L’exemple suivant convertit une chaîne encodée en Unicode en une chaîne encodée en ASCII. Étant donné que l’objet d’encodage ASCII retourné par la ASCII propriété utilise le secours de remplacement et que le caractère pi ne fait pas partie du jeu de caractères ASCII, le caractère pi est remplacé par un point d’interrogation, comme le montre la sortie de l’exemple.

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

S’applique à