Partager via


UTF32Encoding Classe

Définition

Représente un encodage UTF-32 de caractères Unicode.

public ref class UTF32Encoding sealed : System::Text::Encoding
public sealed class UTF32Encoding : System.Text.Encoding
[System.Serializable]
public sealed class UTF32Encoding : System.Text.Encoding
type UTF32Encoding = class
    inherit Encoding
[<System.Serializable>]
type UTF32Encoding = class
    inherit Encoding
Public NotInheritable Class UTF32Encoding
Inherits Encoding
Héritage
UTF32Encoding
Attributs

Exemples

L’exemple suivant illustre le comportement des UTF32Encoding objets avec et sans détection d’erreur activé. Il crée un tableau d’octets dont les quatre derniers octets représentent une paire de substitution non valide ; le substitut élevé U+D8FF est suivi d’un U+01FF, qui se trouve en dehors de la plage de faibles substitutions (0xDC00 par 0xDFFF). Sans détection d’erreur, le décodeur UTF32 utilise le secours de remplacement pour remplacer la paire de substitution non valide par REPLACEMENT CHARACTER (U+FFFD).

using System;
using System.Text;

public class Example
{
   public static void Main()
   {
     // Create a UTF32Encoding object with error detection enabled.
      var encExc = new UTF32Encoding(! BitConverter.IsLittleEndian, true, true);
      // Create a UTF32Encoding object with error detection disabled.
      var encRepl = new UTF32Encoding(! BitConverter.IsLittleEndian, true, false);

      // Create a byte arrays from a string, and add an invalid surrogate pair, as follows.
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    a high-surrogate value (U+D8FF)
      //    an invalid low surrogate (U+01FF)
      String s = "za\u0306\u01FD\u03B2";

      // Encode the string using little-endian byte order.
      int index = encExc.GetByteCount(s);
      Byte[] bytes = new Byte[index + 4];
      encExc.GetBytes(s, 0, s.Length, bytes, 0);
      bytes[index] = 0xFF;
      bytes[index + 1] = 0xD8;
      bytes[index + 2] = 0xFF;
      bytes[index + 3] = 0x01;

      // Decode the byte array with error detection.
      Console.WriteLine("Decoding with error detection:");
      PrintDecodedString(bytes, encExc);

      // Decode the byte array without error detection.
      Console.WriteLine("Decoding without error detection:");
      PrintDecodedString(bytes, encRepl);
   }

   // Decode the bytes and display the string.
   public static void PrintDecodedString(Byte[] bytes, Encoding enc)
   {
      try {
         Console.WriteLine("   Decoded string: {0}", enc.GetString(bytes, 0, bytes.Length));
      }
      catch (DecoderFallbackException e) {
         Console.WriteLine(e.ToString());
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//    Decoding with error detection:
//    System.Text.DecoderFallbackException: Unable to translate bytes [FF][D8][FF][01] at index
//    20 from specified code page to Unicode.
//       at System.Text.DecoderExceptionFallbackBuffer.Throw(Byte[] bytesUnknown, Int32 index)
//       at System.Text.DecoderExceptionFallbackBuffer.Fallback(Byte[] bytesUnknown, Int32 index
//    )
//       at System.Text.DecoderFallbackBuffer.InternalFallback(Byte[] bytes, Byte* pBytes)
//       at System.Text.UTF32Encoding.GetCharCount(Byte* bytes, Int32 count, DecoderNLS baseDeco
//    der)
//       at System.Text.UTF32Encoding.GetString(Byte[] bytes, Int32 index, Int32 count)
//       at Example.PrintDecodedString(Byte[] bytes, Encoding enc)
//
//    Decoding without error detection:
//       Decoded string: zăǽβ�
Imports System.Text

Public Module Example
   Public Sub Main()
      ' Create a UTF32Encoding object with error detection enabled.
      Dim encExc As New UTF32Encoding(Not BitConverter.IsLittleEndian, True, True)
      ' Create a UTF32Encoding object with error detection disabled.
      Dim encRepl As New UTF32Encoding(Not BitConverter.IsLittleEndian, True, False)

      ' Create a byte arrays from a string, and add an invalid surrogate pair, as follows.
      '    Latin Small Letter Z (U+007A)
      '    Latin Small Letter A (U+0061)
      '    Combining Breve (U+0306)
      '    Latin Small Letter AE With Acute (U+01FD)
      '    Greek Small Letter Beta (U+03B2)
      '    a high-surrogate value (U+D8FF)
      '    an invalid low surrogate (U+01FF)
      Dim s As String = "za" & ChrW(&H0306) & ChrW(&H01FD) & ChrW(&H03B2)

      ' Encode the string using little-endian byte order.
      Dim index As Integer = encExc.GetBytecount(s)
      Dim bytes(index + 3) As Byte
      encExc.GetBytes(s, 0, s.Length, bytes, 0)
      bytes(index) = &hFF
      bytes(index + 1) = &hD8
      bytes(index + 2) = &hFF
      bytes(index + 3) = &h01

      ' Decode the byte array with error detection.
      Console.WriteLine("Decoding with error detection:")
      PrintDecodedString(bytes, encExc)

      ' Decode the byte array without error detection.
      Console.WriteLine("Decoding without error detection:")
      PrintDecodedString(bytes, encRepl)
   End Sub

   ' Decode the bytes and display the string.
   Public Sub PrintDecodedString(bytes() As Byte, enc As Encoding)
      Try
         Console.WriteLine("   Decoded string: {0}", enc.GetString(bytes, 0, bytes.Length))
      Catch e As DecoderFallbackException
         Console.WriteLine(e.ToString())
      End Try
      Console.WriteLine()
   End Sub
End Module
' The example displays the following output:
'    Decoding with error detection:
'    System.Text.DecoderFallbackException: Unable to translate bytes [FF][D8][FF][01] at index
'    20 from specified code page to Unicode.
'       at System.Text.DecoderExceptionFallbackBuffer.Throw(Byte[] bytesUnknown, Int32 index)
'       at System.Text.DecoderExceptionFallbackBuffer.Fallback(Byte[] bytesUnknown, Int32 index
'    )
'       at System.Text.DecoderFallbackBuffer.InternalFallback(Byte[] bytes, Byte* pBytes)
'       at System.Text.UTF32Encoding.GetCharCount(Byte* bytes, Int32 count, DecoderNLS baseDeco
'    der)
'       at System.Text.UTF32Encoding.GetString(Byte[] bytes, Int32 index, Int32 count)
'       at Example.PrintDecodedString(Byte[] bytes, Encoding enc)
'
'    Decoding without error detection:
'       Decoded string: zăǽβ�

L’exemple suivant encode une chaîne de caractères Unicode dans un tableau d’octets à l’aide d’un UTF32Encoding objet. Le tableau d’octets est ensuite décodé en chaîne pour démontrer qu’il n’y a aucune perte de données.

using System;
using System.Text;

public class Example
{
    public static void Main()
    {
        // The encoding.
        var enc = new UTF32Encoding();
        
        // Create a string.
        String s = "This string contains two characters " +
                   "with codes outside the ASCII code range: " +
                   "Pi (\u03A0) and Sigma (\u03A3).";
        Console.WriteLine("Original string:");
        Console.WriteLine("   {0}", s);
        
        // Encode the string.
        Byte[] encodedBytes = enc.GetBytes(s);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        for (int ctr = 0; ctr < encodedBytes.Length; ctr++) {
            Console.Write("[{0:X2}]{1}", encodedBytes[ctr],
                                         (ctr + 1) % 4 == 0 ? " " : "" );
            if ((ctr + 1) % 16 == 0) Console.WriteLine();
        }
        Console.WriteLine();
        
        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = enc.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded string:");
        Console.WriteLine("   {0}", decodedString);
    }
}
// The example displays the following output:
//    Original string:
//       This string contains two characters with codes outside the ASCII code range:
//    Pi (π) and Sigma (Σ).
//
//    Encoded bytes:
//    [54][00][00][00] [68][00][00][00] [69][00][00][00] [73][00][00][00]
//    [20][00][00][00] [73][00][00][00] [74][00][00][00] [72][00][00][00]
//    [69][00][00][00] [6E][00][00][00] [67][00][00][00] [20][00][00][00]
//    [63][00][00][00] [6F][00][00][00] [6E][00][00][00] [74][00][00][00]
//    [61][00][00][00] [69][00][00][00] [6E][00][00][00] [73][00][00][00]
//    [20][00][00][00] [74][00][00][00] [77][00][00][00] [6F][00][00][00]
//    [20][00][00][00] [63][00][00][00] [68][00][00][00] [61][00][00][00]
//    [72][00][00][00] [61][00][00][00] [63][00][00][00] [74][00][00][00]
//    [65][00][00][00] [72][00][00][00] [73][00][00][00] [20][00][00][00]
//    [77][00][00][00] [69][00][00][00] [74][00][00][00] [68][00][00][00]
//    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
//    [65][00][00][00] [73][00][00][00] [20][00][00][00] [6F][00][00][00]
//    [75][00][00][00] [74][00][00][00] [73][00][00][00] [69][00][00][00]
//    [64][00][00][00] [65][00][00][00] [20][00][00][00] [74][00][00][00]
//    [68][00][00][00] [65][00][00][00] [20][00][00][00] [41][00][00][00]
//    [53][00][00][00] [43][00][00][00] [49][00][00][00] [49][00][00][00]
//    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
//    [65][00][00][00] [20][00][00][00] [72][00][00][00] [61][00][00][00]
//    [6E][00][00][00] [67][00][00][00] [65][00][00][00] [3A][00][00][00]
//    [20][00][00][00] [50][00][00][00] [69][00][00][00] [20][00][00][00]
//    [28][00][00][00] [A0][03][00][00] [29][00][00][00] [20][00][00][00]
//    [61][00][00][00] [6E][00][00][00] [64][00][00][00] [20][00][00][00]
//    [53][00][00][00] [69][00][00][00] [67][00][00][00] [6D][00][00][00]
//    [61][00][00][00] [20][00][00][00] [28][00][00][00] [A3][03][00][00]
//    [29][00][00][00] [2E][00][00][00]
//
//    Decoded string:
//       This string contains two characters with codes outside the ASCII code range:
//    Pi (π) and Sigma (Σ).
Imports System.Text

Class Example
    Public Shared Sub Main()
        ' The encoding.
        Dim enc As New UTF32Encoding()
        
        ' Create a string.
        Dim s As String =
            "This string contains two characters " &
            "with codes outside the ASCII code range: " &
            "Pi (" & ChrW(&h03A0) & ") and Sigma (" & ChrW(&h03A3) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine("   {0}", s)
        
        ' Encode the string.
        Dim encodedBytes As Byte() = enc.GetBytes(s)
        Console.WriteLine()
        Console.WriteLine("Encoded bytes:")
        For ctr As Integer = 0 To encodedBytes.Length - 1
            Console.Write("[{0:X2}]{1}", encodedBytes(ctr),
                                         If((ctr + 1) Mod 4 = 0, " ", "" ))
            If (ctr + 1) Mod 16 = 0 Then Console.WriteLine()
        Next
        Console.WriteLine()
        
        ' Decode bytes back to string.
        ' Notice Pi and Sigma characters are still present.
        Dim decodedString As String = enc.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded string:")
        Console.WriteLine("   {0}", decodedString)
    End Sub
End Class
' The example displays the following output:
'    Original string:
'       This string contains two characters with codes outside the ASCII code range:
'    Pi (π) and Sigma (Σ).
'
'    Encoded bytes:
'    [54][00][00][00] [68][00][00][00] [69][00][00][00] [73][00][00][00]
'    [20][00][00][00] [73][00][00][00] [74][00][00][00] [72][00][00][00]
'    [69][00][00][00] [6E][00][00][00] [67][00][00][00] [20][00][00][00]
'    [63][00][00][00] [6F][00][00][00] [6E][00][00][00] [74][00][00][00]
'    [61][00][00][00] [69][00][00][00] [6E][00][00][00] [73][00][00][00]
'    [20][00][00][00] [74][00][00][00] [77][00][00][00] [6F][00][00][00]
'    [20][00][00][00] [63][00][00][00] [68][00][00][00] [61][00][00][00]
'    [72][00][00][00] [61][00][00][00] [63][00][00][00] [74][00][00][00]
'    [65][00][00][00] [72][00][00][00] [73][00][00][00] [20][00][00][00]
'    [77][00][00][00] [69][00][00][00] [74][00][00][00] [68][00][00][00]
'    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
'    [65][00][00][00] [73][00][00][00] [20][00][00][00] [6F][00][00][00]
'    [75][00][00][00] [74][00][00][00] [73][00][00][00] [69][00][00][00]
'    [64][00][00][00] [65][00][00][00] [20][00][00][00] [74][00][00][00]
'    [68][00][00][00] [65][00][00][00] [20][00][00][00] [41][00][00][00]
'    [53][00][00][00] [43][00][00][00] [49][00][00][00] [49][00][00][00]
'    [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00]
'    [65][00][00][00] [20][00][00][00] [72][00][00][00] [61][00][00][00]
'    [6E][00][00][00] [67][00][00][00] [65][00][00][00] [3A][00][00][00]
'    [20][00][00][00] [50][00][00][00] [69][00][00][00] [20][00][00][00]
'    [28][00][00][00] [A0][03][00][00] [29][00][00][00] [20][00][00][00]
'    [61][00][00][00] [6E][00][00][00] [64][00][00][00] [20][00][00][00]
'    [53][00][00][00] [69][00][00][00] [67][00][00][00] [6D][00][00][00]
'    [61][00][00][00] [20][00][00][00] [28][00][00][00] [A3][03][00][00]
'    [29][00][00][00] [2E][00][00][00]
'
'    Decoded string:
'       This string contains two characters with codes outside the ASCII code range:
'    Pi (π) and Sigma (Σ).

L’exemple suivant utilise la même chaîne que la précédente, sauf qu’elle écrit les octets encodés dans un fichier et préfixe le flux d’octets avec une marque d’ordre d’octet (BOM). Il lit ensuite le fichier de deux façons différentes : en tant que fichier texte à l’aide d’un StreamReader objet ; et en tant que fichier binaire. Comme prévu, aucune chaîne nouvellement lue n’inclut le boM.

using System;
using System.IO;
using System.Text;

public class Example
{
    public static void Main()
    {
        // Create a UTF-32 encoding that supports a BOM.
        var enc = new UTF32Encoding();
        
        // A Unicode string with two characters outside an 8-bit code range.
        String s = "This Unicode string has 2 characters " +
                   "outside the ASCII range: \n" +
                   "Pi (\u03A0), and Sigma (\u03A3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(s);
        Console.WriteLine();
        
        // Encode the string.
        Byte[] encodedBytes = enc.GetBytes(s);
        Console.WriteLine("The encoded string has {0} bytes.\n",
                          encodedBytes.Length);

        // Write the bytes to a file with a BOM.
        var fs = new FileStream(@".\UTF32Encoding.txt", FileMode.Create);
        Byte[] bom = enc.GetPreamble();
        fs.Write(bom, 0, bom.Length);
        fs.Write(encodedBytes, 0, encodedBytes.Length);
        Console.WriteLine("Wrote {0} bytes to the file.\n", fs.Length);
        fs.Close();

        // Open the file using StreamReader.
        var sr = new StreamReader(@".\UTF32Encoding.txt");
        String newString = sr.ReadToEnd();
        sr.Close();
        Console.WriteLine("String read using StreamReader:");
        Console.WriteLine(newString);
        Console.WriteLine();
        
        // Open the file as a binary file and decode the bytes back to a string.
        fs = new FileStream(@".\Utf32Encoding.txt", FileMode.Open);
        Byte[] bytes = new Byte[fs.Length];
        fs.Read(bytes, 0, (int)fs.Length);
        fs.Close();

        String decodedString = enc.GetString(bytes);
        Console.WriteLine("Decoded bytes from binary file:");
        Console.WriteLine(decodedString);
    }
}
// The example displays the following output:
//    Original string:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    The encoded string has 340 bytes.
//
//    Wrote 344 bytes to the file.
//
//    String read using StreamReader:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    Decoded bytes from binary file:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
Imports System.IO
Imports System.Text

Class Example
    Public Shared Sub Main()
        ' Create a UTF-32 encoding that supports a BOM.
        Dim enc As New UTF32Encoding()
        
        ' A Unicode string with two characters outside an 8-bit code range.
        Dim s As String = _
            "This Unicode string has 2 characters outside the " &
            "ASCII range: " & vbCrLf &
            "Pi (" & ChrW(&h03A0) & "), and Sigma (" & ChrW(&h03A3) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(s)
        Console.WriteLine()
        
        ' Encode the string.
        Dim encodedBytes As Byte() = enc.GetBytes(s)
        Console.WriteLine("The encoded string has {0} bytes.",
                          encodedBytes.Length)
        Console.WriteLine()
        
        ' Write the bytes to a file with a BOM.
        Dim fs As New FileStream(".\UTF32Encoding.txt", FileMode.Create)
        Dim bom() As Byte = enc.GetPreamble()
        fs.Write(bom, 0, bom.Length)
        fs.Write(encodedBytes, 0, encodedBytes.Length)
        Console.WriteLine("Wrote {0} bytes to the file.", fs.Length)
        fs.Close()
        Console.WriteLine()
        
        ' Open the file using StreamReader.
        Dim sr As New StreamReader(".\UTF32Encoding.txt")
        Dim newString As String = sr.ReadToEnd()
        sr.Close()
        Console.WriteLine("String read using StreamReader:")
        Console.WriteLine(newString)
        Console.WriteLine()
        
        ' Open the file as a binary file and decode the bytes back to a string.
        fs = new FileStream(".\Utf32Encoding.txt", FileMode.Open)
        Dim bytes(fs.Length - 1) As Byte
        fs.Read(bytes, 0, fs.Length)
        fs.Close()

        Dim decodedString As String = enc.GetString(bytes)
        Console.WriteLine("Decoded bytes from binary file:")
        Console.WriteLine(decodedString)
    End Sub
End Class
' The example displays the following output:
'    Original string:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).
'
'    The encoded string has 344 bytes.
'
'    Wrote 348 bytes to the file.
'
'    String read using StreamReader:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).
'
'    Decoded bytes from binary file:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).

Remarques

L’encodage est le processus de transformation d’un ensemble de caractères Unicode en une séquence d’octets. Le décodage est le processus de transformation d’une séquence d’octets encodés en un ensemble de caractères Unicode.

La norme Unicode affecte un point de code (un nombre) à chaque caractère de chaque script pris en charge. Un format de transformation Unicode (UTF) est un moyen d’encoder ce point de code. La norme Unicode utilise les fonctions UTF suivantes :

  • UTF-8, qui représente chaque point de code sous la forme d’une séquence d’un à quatre octets.

  • UTF-16, qui représente chaque point de code sous la forme d’une séquence d’un à deux entiers 16 bits.

  • UTF-32, qui représente chaque point de code sous la forme d’un entier 32 bits.

Pour plus d’informations sur les UTFs et d’autres encodages pris en charge par System.Text, consultez Encodage de caractères dans .NET.

La UTF32Encoding classe représente un encodage UTF-32. L’encodeur peut utiliser l’ordre d’octets big endian (octet le plus significatif en premier) ou l’ordre d’octets du petit endian (octet le moins significatif en premier). Par exemple, la lettre majuscule latine A (point de code U+0041) est sérialisée comme suit (en hexadécimal) :

  • Ordre d’octets big endian : 00 00 00 41

  • Petite commande d’octets endian : 41 00 00 00

Il est généralement plus efficace de stocker des caractères Unicode à l’aide de l’ordre d’octet natif. Par exemple, il est préférable d’utiliser l’ordre d’octets little endian sur les plateformes little endian, telles que les ordinateurs Intel. UTF32Encoding correspond aux pages de codes Windows 12000 (ordre d’octet petit endian) et 12001 (ordre d’octet big endian). Vous pouvez déterminer l'« endianness » d’une architecture particulière en appelant la BitConverter.IsLittleEndian méthode.

Si vous le souhaitez, l’objet UTF32Encoding fournit une marque d’ordre d’octets (BOM), qui est un tableau d’octets pouvant être précédé de la séquence d’octets résultant du processus d’encodage. Si le préambule contient une marque d’ordre d’octet (BOM), il aide le décodeur à déterminer l’ordre d’octet et le format de transformation ou UTF d’un tableau d’octets.

Si l’instance UTF32Encoding est configurée pour fournir un boM, vous pouvez la récupérer en appelant la GetPreamble méthode ; sinon, la méthode retourne un tableau vide. Notez que, même si un UTF32Encoding objet est configuré pour la prise en charge des boM, vous devez inclure le boM au début du flux d’octets encodé selon les besoins ; les méthodes d’encodage de la UTF32Encoding classe ne le font pas automatiquement.

Avertissement

Pour activer la détection des erreurs et rendre l’instance de classe plus sécurisée, vous devez instancier un UTF32Encoding objet en appelant le UTF32Encoding(Boolean, Boolean, Boolean) constructeur et en définissant son throwOnInvalidBytes argument sur true. Avec la détection d’erreurs, une méthode qui détecte une séquence de caractères ou d’octets non valide lève une ArgumentException exception. Sans détection d’erreur, aucune exception n’est levée et la séquence non valide est généralement ignorée.

Vous pouvez instancier un UTF32Encoding objet de plusieurs façons, selon que vous souhaitez lui fournir une marque d’ordre d’octet (BOM), que vous souhaitiez un encodage big-endian ou little-endian et que vous souhaitiez activer la détection d’erreurs. Le tableau suivant répertorie les UTF32Encoding constructeurs et les Encoding propriétés qui retournent un UnicodeEncoding objet.

Membre Endianness BOM Détection d'erreurs
Encoding.UTF32 Little-endian Oui Non (remplacement de secours)
UTF32Encoding.UTF32Encoding() Little-endian Oui Non (remplacement de secours)
UTF32Encoding.UTF32Encoding(Boolean, Boolean) Paramétrable Paramétrable Non (remplacement de secours)
UTF32Encoding.UTF32Encoding(Boolean, Boolean, Boolean) Paramétrable Paramétrable Paramétrable

La GetByteCount méthode détermine le nombre d’octets résultant de l’encodage d’un jeu de caractères Unicode, et la GetBytes méthode effectue l’encodage réel.

De même, la GetCharCount méthode détermine le nombre de caractères qui entraînent le décodage d’une séquence d’octets et les GetCharsGetString méthodes effectuent le décodage réel.

Pour un encodeur ou un décodeur capable d’enregistrer des informations d’état lors de l’encodage ou du décodage des données qui s’étendent sur plusieurs blocs (par exemple, une chaîne de 1 million de caractères codés dans des segments de 100 000 caractères), utilisez respectivement les propriétés et GetDecoder les GetEncoder propriétés.

Constructeurs

Nom Description
UTF32Encoding()

Initialise une nouvelle instance de la classe UTF32Encoding.

UTF32Encoding(Boolean, Boolean, Boolean)

Initialise une nouvelle instance de la classe UTF32Encoding. Les paramètres spécifient s’il faut utiliser l’ordre d’octet big endian, s’il faut fournir une marque d’ordre d’octet Unicode et s’il faut lever une exception lorsqu’un encodage non valide est détecté.

UTF32Encoding(Boolean, Boolean)

Initialise une nouvelle instance de la classe UTF32Encoding. Les paramètres spécifient s’il faut utiliser l’ordre des octets big endian et si la GetPreamble() méthode retourne une marque d’ordre d’octet Unicode.

Propriétés

Nom Description
BodyName

En cas de substitution dans une classe dérivée, obtient un nom pour l’encodage actuel qui peut être utilisé avec des balises de corps de l’agent de messagerie.

(Hérité de Encoding)
CodePage

En cas de substitution dans une classe dérivée, obtient l’identificateur de la page de codes du fichier actif Encoding.

(Hérité de Encoding)
DecoderFallback

Obtient ou définit l’objet DecoderFallback de l’objet actif Encoding .

(Hérité de Encoding)
EncoderFallback

Obtient ou définit l’objet EncoderFallback de l’objet actif Encoding .

(Hérité de Encoding)
EncodingName

En cas de substitution dans une classe dérivée, obtient la description lisible par l’homme de l’encodage actuel.

(Hérité de Encoding)
HeaderName

En cas de substitution dans une classe dérivée, obtient un nom pour l’encodage actuel qui peut être utilisé avec les balises d’en-tête de l’agent de messagerie.

(Hérité de Encoding)
IsBrowserDisplay

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l’encodage actuel peut être utilisé par les clients de navigateur pour afficher du contenu.

(Hérité de Encoding)
IsBrowserSave

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l’encodage actuel peut être utilisé par les clients de navigateur pour enregistrer du contenu.

(Hérité de Encoding)
IsMailNewsDisplay

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l’encodage actuel peut être utilisé par les clients de messagerie et d’actualités pour afficher du contenu.

(Hérité de Encoding)
IsMailNewsSave

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l’encodage actuel peut être utilisé par les clients de messagerie et d’actualités pour enregistrer du contenu.

(Hérité de Encoding)
IsReadOnly

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l’encodage actuel est en lecture seule.

(Hérité de Encoding)
IsSingleByte

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l’encodage actuel utilise des points de code à octet unique.

(Hérité de Encoding)
Preamble

Obtient une marque d’ordre d’octet Unicode encodée au format UTF-32, si cet objet est configuré pour en fournir un.

Preamble

En cas de substitution dans une classe dérivée, retourne une étendue contenant la séquence d’octets qui spécifie l’encodage utilisé.

(Hérité de Encoding)
WebName

En cas de substitution dans une classe dérivée, obtient le nom inscrit auprès de l’IANA (Internet Assigned Numbers Authority) pour l’encodage actuel.

(Hérité de Encoding)
WindowsCodePage

En cas de substitution dans une classe dérivée, obtient la page de codes du système d’exploitation Windows qui correspond le plus étroitement à l’encodage actuel.

(Hérité de Encoding)

Méthodes

Nom Description
Clone()

En cas de substitution dans une classe dérivée, crée une copie superficielle de l’objet actuel Encoding .

(Hérité de Encoding)
Equals(Object)

Détermine si le spécifié Object est égal à l’objet actuel UTF32Encoding .

GetByteCount(Char[], Int32, Int32)

Calcule le nombre d’octets générés par l’encodage d’un jeu de caractères à partir du tableau de caractères spécifié.

GetByteCount(Char[])

En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage de tous les caractères du tableau de caractères spécifié.

(Hérité de Encoding)
GetByteCount(Char*, Int32)

Calcule le nombre d’octets générés par l’encodage d’un jeu de caractères commençant par le pointeur de caractère spécifié.

GetByteCount(ReadOnlySpan<Char>)

En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage des caractères dans l’étendue de caractères spécifiée.

(Hérité de Encoding)
GetByteCount(String, Int32, Int32)

En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères à partir de la chaîne spécifiée.

(Hérité de Encoding)
GetByteCount(String)

Calcule le nombre d’octets générés par l’encodage des caractères dans le fichier spécifié String.

GetBytes(Char[], Int32, Int32, Byte[], Int32)

Encode un jeu de caractères du tableau de caractères spécifié dans le tableau d’octets spécifié.

GetBytes(Char[], Int32, Int32)

En cas de substitution dans une classe dérivée, encode un jeu de caractères du tableau de caractères spécifié dans une séquence d’octets.

(Hérité de Encoding)
GetBytes(Char[])

En cas de substitution dans une classe dérivée, encode tous les caractères du tableau de caractères spécifié dans une séquence d’octets.

(Hérité de Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Encode un jeu de caractères commençant par le pointeur de caractères spécifié dans une séquence d’octets stockés à partir du pointeur d’octet spécifié.

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

En cas de substitution dans une classe dérivée, encode dans une étendue d’octets un jeu de caractères de l’étendue en lecture seule spécifiée.

(Hérité de Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Encode un jeu de caractères du tableau d’octets String spécifié.

GetBytes(String, Int32, Int32)

En cas de substitution dans une classe dérivée, encode dans un tableau d’octets le nombre de caractères spécifié par count la chaîne spécifiée, à partir de la valeur spécifiée index.

(Hérité de Encoding)
GetBytes(String)

En cas de substitution dans une classe dérivée, encode tous les caractères de la chaîne spécifiée dans une séquence d’octets.

(Hérité de Encoding)
GetCharCount(Byte[], Int32, Int32)

Calcule le nombre de caractères générés par le décodage d’une séquence d’octets à partir du tableau d’octets spécifié.

GetCharCount(Byte[])

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage de tous les octets du tableau d’octets spécifié.

(Hérité de Encoding)
GetCharCount(Byte*, Int32)

Calcule le nombre de caractères générés par le décodage d’une séquence d’octets commençant au pointeur d’octet spécifié.

GetCharCount(ReadOnlySpan<Byte>)

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage de l’étendue d’octets en lecture seule fournie.

(Hérité de Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Décode une séquence d’octets du tableau d’octets spécifié dans le tableau de caractères spécifié.

GetChars(Byte[], Int32, Int32)

En cas de substitution dans une classe dérivée, décode une séquence d’octets du tableau d’octets spécifié en un ensemble de caractères.

(Hérité de Encoding)
GetChars(Byte[])

En cas de substitution dans une classe dérivée, décode tous les octets du tableau d’octets spécifié en un ensemble de caractères.

(Hérité de Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Décode une séquence d’octets commençant au pointeur d’octet spécifié dans un ensemble de caractères stockés à partir du pointeur de caractères spécifié.

GetChars(ReadOnlySpan<Byte>, Span<Char>)

En cas de substitution dans une classe dérivée, décode tous les octets de l’étendue d’octets en lecture seule spécifiée dans une étendue de caractères.

(Hérité de Encoding)
GetDecoder()

Obtient un décodeur qui convertit une séquence encodée UTF-32 d’octets en une séquence de caractères Unicode.

GetEncoder()

Obtient un encodeur qui convertit une séquence de caractères Unicode en une séquence codée UTF-32 d’octets.

GetHashCode()

Retourne le code de hachage de l’instance actuelle.

GetMaxByteCount(Int32)

Calcule le nombre maximal d’octets produits par encodage du nombre spécifié de caractères.

GetMaxCharCount(Int32)

Calcule le nombre maximal de caractères produits par décodage du nombre spécifié d’octets.

GetPreamble()

Retourne une marque d’ordre d’octet Unicode encodée au format UTF-32, si l’objet UTF32Encoding est configuré pour en fournir un.

GetString(Byte[], Int32, Int32)

Décode une plage d’octets d’un tableau d’octets dans une chaîne.

GetString(Byte[])

En cas de substitution dans une classe dérivée, décode tous les octets du tableau d’octets spécifié dans une chaîne.

(Hérité de Encoding)
GetString(Byte*, Int32)

En cas de substitution dans une classe dérivée, décode un nombre spécifié d’octets à partir d’une adresse spécifiée dans une chaîne.

(Hérité de Encoding)
GetString(ReadOnlySpan<Byte>)

En cas de substitution dans une classe dérivée, décode tous les octets de l’étendue d’octets spécifiée dans une chaîne.

(Hérité de Encoding)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IsAlwaysNormalized()

Obtient une valeur indiquant si l’encodage actuel est toujours normalisé, à l’aide du formulaire de normalisation par défaut.

(Hérité de Encoding)
IsAlwaysNormalized(NormalizationForm)

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l’encodage actuel est toujours normalisé, à l’aide du formulaire de normalisation spécifié.

(Hérité de Encoding)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Encode dans une étendue d’octets un jeu de caractères de l’étendue en lecture seule spécifiée si la destination est suffisamment grande.

(Hérité de Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Décode dans une étendue de caractères un ensemble d’octets de l’étendue en lecture seule spécifiée si la destination est suffisamment grande.

(Hérité de Encoding)

Méthodes d’extension

Nom Description
GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>)

Décode la valeur spécifiée ReadOnlySequence<T> à bytel’aide du résultat spécifié Encoding et écrit le résultat dans writer.

GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>)

Encode le paramètre spécifié ReadOnlySequence<T> à bytel’aide du résultat spécifié Encoding et génère le résultat vers bytes.

GetBytes(Encoding, ReadOnlySequence<Char>)

Encode le spécifié ReadOnlySequence<T> dans un Byte tableau à l’aide de l’élément spécifié Encoding.

GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>)

Encode le contenu spécifié ReadOnlySpan<T> à l’aide du résultat spécifié byte et écrit le résultat dans Encodingwriter.

GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>)

Décode la valeur spécifiée ReadOnlySequence<T> à charl’aide du résultat spécifié Encoding et écrit le résultat dans writer.

GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>)

Décode les valeurs spécifiées ReadOnlySequence<T> à charl’aide des résultats spécifiés Encoding et génère le résultat vers chars.

GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>)

Décode la valeur spécifiée ReadOnlySpan<T> à charl’aide du résultat spécifié Encoding et écrit le résultat dans writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Décode le spécifié ReadOnlySequence<T> en String utilisant le fichier spécifié Encoding.

S’applique à

Voir aussi