UTF32Encoding Osztály

Definíció

Unicode-karakterek UTF-32 kódolását jelöli.

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
Öröklődés
UTF32Encoding
Attribútumok

Példák

Az alábbi példa bemutatja, hogy az objektumok viselkedése UTF32Encoding engedélyezve van-e hibaészleléssel és anélkül. Létrehoz egy bájttömböt, amelynek utolsó négy bájtja érvénytelen helyettesítő párt jelöl; a magas helyettes U+D8FF követi az U+01FF, amely kívül esik az alacsony helyettesek tartományán (0xDC00 keresztül 0xDFFF). Hibaészlelés nélkül az UTF32 dekóder csere tartalékot használ az érvénytelen helyettesítő pár helyettesítésére CSERE KARAKTER (U+FFFD) karakterre.

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ăǽβ�

Az alábbi példa egy Unicode-karakterekből álló sztringet kódol egy bájttömbbe egy UTF32Encoding objektum használatával. A bájttömb ezután sztringre van dekódolva, hogy bizonyítsa, nincs adatvesztés.

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

Az alábbi példa ugyanazt a sztringet használja, mint az előző, azzal a kivétellel, hogy a kódolt bájtokat egy fájlba írja, és a bájtfolyam előtagja egy bájtsorrendjellel (BOM). Ezután két különböző módon olvassa be a fájlt: szövegfájlként egy StreamReader objektum használatával, és bináris fájlként. Ahogy várható volt, egyik újonnan olvasott sztring sem tartalmazza a BOM-t.

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

Megjegyzések

A kódolás a Unicode-karakterek halmazának bájtok sorozatává alakításának folyamata. A dekódolás a kódolt bájtok sorozatának Unicode-karakterekből álló készletté alakításának folyamata.

A Unicode Standard minden támogatott szkript minden karakteréhez kódpontot (számot) rendel. A Unicode-átalakítási formátum (UTF) segítségével kódolhatja ezt a kódpontot. A Unicode Standard a következő UTF-eket használja:

  • UTF-8, amely minden kódpontot 1–4 bájtos sorozatként jelöl.

  • UTF-16, amely minden kódpontot egy-két 16 bites egész szám sorozataként jelöl.

  • UTF-32, amely minden kódpontot 32 bites egész számként jelöl.

Az System.Text által támogatott UTF-ekről és más kódolásokról további információt a Character-kódolás .NET című témakörben talál.

Az UTF32Encoding osztály egy UTF-32 kódolást jelöl. A kódoló használhatja a big endian bájtsorrendet (elsőként a legjelentősebb bájt) vagy a kis endian bájtsorrendet (először a legkevésbé jelentős bájtot). Például az A latin nagybetű (U+0041 kódpont) szerializálva van a következőképpen (hexadecimálisan):

  • Big endian byte order: 00 00 00 41

  • Kis endian bájtsorrend: 41 00 00 00

Általában hatékonyabb Unicode-karaktereket tárolni a natív bájtsorrend használatával. Jobb például a kis endian bájtsorrendet használni a kis endian platformokon, például az Intel számítógépeken. UTF32Encoding az 12000 (kis endian bájtsorrend) és az 12001 (big endian byte order) Windows kódlapnak felel meg. A metódus meghívásával meghatározhatja egy adott architektúra "endianness"- BitConverter.IsLittleEndian ét.

Az objektum opcionálisan bájtsorrendjelet (BOM) is biztosít, UTF32Encoding amely bájtokból álló tömb, amely előtagként szerepel a kódolási folyamatból eredő bájtok sorozatában. Ha a preambulum bájtsorrendjelet (BOM) tartalmaz, segít a dekódernek meghatározni a bájtsorrendet és a bájttömb átalakítási formátumát vagy UTF-jét.

Ha a UTF32Encoding példány egy anyagjegyzék megadására van konfigurálva, a metódus meghívásával GetPreamble lekérheti, ellenkező esetben a metódus üres tömböt ad vissza. Vegye figyelembe, hogy még ha egy UTF32Encoding objektum is konfigurálva van a BOM-támogatáshoz, a BOM-t a kódolt bájtfolyam elején kell megadnia, ha szükséges; az UTF32Encoding osztály kódolási módszerei nem teszik ezt automatikusan.

Figyelmeztetés

A hibaészlelés engedélyezéséhez és az osztálypéldány biztonságosabbá tételéhez példányosítania kell egy UTF32Encoding objektumot a UTF32Encoding(Boolean, Boolean, Boolean) konstruktor meghívásával és argumentumának throwOnInvalidBytesbeállításávaltrue. Hibaészlelés esetén a karakterek vagy bájtok érvénytelen sorozatát észlelő metódus kivételt ArgumentException okoz. Hibaészlelés nélkül a rendszer nem ad kivételt, és az érvénytelen sorozatot általában figyelmen kívül hagyja.

Az objektumokat többféleképpen is létrehozhatja UTF32Encoding , attól függően, hogy bájtsorrendjelet (BOM) szeretne-e megadni, hogy big endian vagy little-endian kódolást szeretne-e használni, és hogy engedélyezni szeretné-e a hibaészlelést. Az alábbi táblázat az UTF32Encoding objektumot visszaadó konstruktorokat és Encoding tulajdonságokat UnicodeEncoding sorolja fel.

Tag Bájt sorrendösség ANYAGJEGYZÉK Hibaészlelés
Encoding.UTF32 Kis endian Igen Nem (Csere tartalék)
UTF32Encoding.UTF32Encoding() Kis endian Igen Nem (Csere tartalék)
UTF32Encoding.UTF32Encoding(Boolean, Boolean) Configurable Configurable Nem (Csere tartalék)
UTF32Encoding.UTF32Encoding(Boolean, Boolean, Boolean) Configurable Configurable Configurable

A GetByteCount metódus meghatározza, hogy hány bájtot eredményez egy Unicode-karakterkészlet kódolása, és a GetBytes metódus végrehajtja a tényleges kódolást.

Hasonlóképpen, a GetCharCount metódus meghatározza, hogy hány karakter okozza a bájtok sorozatának dekódolását, és a GetCharsGetString metódusok elvégzik a tényleges dekódolást.

Olyan kódoló vagy dekóder esetében, amely több blokkon (például 100 000 karakteres szegmensben kódolt 1 millió karakterből álló sztringen) lévő adatok kódolásakor vagy dekódolásakor képes állapotinformációkat menteni, használja a tulajdonságokat és GetEncoder a GetDecoder tulajdonságokat.

Konstruktorok

Name Description
UTF32Encoding()

Inicializálja a UTF32Encoding osztály új példányát.

UTF32Encoding(Boolean, Boolean, Boolean)

Inicializálja a UTF32Encoding osztály új példányát. A paraméterek meghatározzák, hogy a big endian bájtsorrendet használja-e, hogy Unicode bájtsorrendjelet adjon-e meg, és hogy kivételt adjon-e ki, ha érvénytelen kódolást észlel.

UTF32Encoding(Boolean, Boolean)

Inicializálja a UTF32Encoding osztály új példányát. A paraméterek megadják, hogy a big endian bájtsorrendet kell-e használni, és hogy a GetPreamble() metódus Unicode bájtsorrendjelet ad-e vissza.

Tulajdonságok

Name Description
BodyName

Ha felül van bírálva egy származtatott osztályban, megkapja az aktuális kódolás nevét, amely a levelezési ügynök törzscímkéivel használható.

(Öröklődés forrása Encoding)
CodePage

Ha felül van bírálva egy származtatott osztályban, lekéri az aktuális Encodingkódlap azonosítóját.

(Öröklődés forrása Encoding)
DecoderFallback

Lekéri vagy beállítja az DecoderFallback aktuális Encoding objektum objektumát.

(Öröklődés forrása Encoding)
EncoderFallback

Lekéri vagy beállítja az EncoderFallback aktuális Encoding objektum objektumát.

(Öröklődés forrása Encoding)
EncodingName

Ha felül van bírálva egy származtatott osztályban, lekéri az aktuális kódolás ember által olvasható leírását.

(Öröklődés forrása Encoding)
HeaderName

Ha felül van bírálva egy származtatott osztályban, lekéri az aktuális kódolás nevét, amely a levelezési ügynök fejléccímkéivel használható.

(Öröklődés forrása Encoding)
IsBrowserDisplay

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy a böngészőügyfelek használhatják-e az aktuális kódolást a tartalom megjelenítéséhez.

(Öröklődés forrása Encoding)
IsBrowserSave

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy a böngészőügyfelek használhatják-e az aktuális kódolást a tartalom mentéséhez.

(Öröklődés forrása Encoding)
IsMailNewsDisplay

Ha egy származtatott osztályban felül van bírálva, a rendszer egy értéket kap, amely jelzi, hogy az aktuális kódolás használható-e a levelezési és híralkalmazások számára a tartalom megjelenítéséhez.

(Öröklődés forrása Encoding)
IsMailNewsSave

Ha felül van bírálva egy származtatott osztályban, egy értéket kap, amely jelzi, hogy az aktuális kódolás használható-e a levelezési és híralkalmazások számára a tartalom mentéséhez.

(Öröklődés forrása Encoding)
IsReadOnly

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy az aktuális kódolás írásvédett-e.

(Öröklődés forrása Encoding)
IsSingleByte

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy az aktuális kódolás egy bájtos kódpontokat használ-e.

(Öröklődés forrása Encoding)
Preamble

Lekéri az UTF-32 formátumban kódolt Unicode bájtsorrend-jelet, ha ez az objektum úgy van konfigurálva, hogy adjon meg egyet.

Preamble

Ha egy származtatott osztályban felülbírált, a használt kódolást meghatározó bájtok sorozatát tartalmazó spant ad vissza.

(Öröklődés forrása Encoding)
WebName

Ha felül van bírálva egy származtatott osztályban, az aktuális kódoláshoz az Internet Assigned Numbers Authority (IANA) regisztrálja a nevet.

(Öröklődés forrása Encoding)
WindowsCodePage

Ha felül van bírálva egy származtatott osztályban, lekéri a Windows operációs rendszer kódlapját, amely a leginkább megfelel az aktuális kódolásnak.

(Öröklődés forrása Encoding)

Metódusok

Name Description
Clone()

Ha felül van bírálva egy származtatott osztályban, létrehozza az aktuális Encoding objektum sekély másolatát.

(Öröklődés forrása Encoding)
Equals(Object)

Meghatározza, hogy a megadott Object érték megegyezik-e az aktuális UTF32Encoding objektummal.

GetByteCount(Char[], Int32, Int32)

Kiszámítja a megadott karaktertömbből származó karakterkészlet kódolásával előállított bájtok számát.

GetByteCount(Char[])

Származtatott osztályban felülbírálva kiszámítja a megadott karaktertömb összes karakterének kódolásával előállított bájtok számát.

(Öröklődés forrása Encoding)
GetByteCount(Char*, Int32)

Kiszámítja a megadott karaktermutatótól kezdődő karakterkészlet kódolásával előállított bájtok számát.

GetByteCount(ReadOnlySpan<Char>)

Származtatott osztályban felülbírálva kiszámítja a megadott karaktertartományban lévő karakterek kódolásával előállított bájtok számát.

(Öröklődés forrása Encoding)
GetByteCount(String, Int32, Int32)

Származtatott osztályban felülbírálva kiszámítja a megadott sztring egy karakterkészletének kódolásával előállított bájtok számát.

(Öröklődés forrása Encoding)
GetByteCount(String)

Kiszámítja a megadott Stringkarakterek kódolásával előállított bájtok számát.

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

Egy karakterkészletet kódol a megadott karaktertömbből a megadott bájttömbbe.

GetBytes(Char[], Int32, Int32)

Ha egy származtatott osztályban felülbírált, a megadott karaktertömb karakterkészletét bájtok sorozatába kódolja.

(Öröklődés forrása Encoding)
GetBytes(Char[])

Ha felülbírált egy származtatott osztályban, a megadott karaktertömb összes karakterét bájtok sorozatába kódolja.

(Öröklődés forrása Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

A megadott karaktermutatótól kezdődő karakterkészletet bájtok sorozatába kódolja, amelyek a megadott bájtmutatótól kezdve vannak tárolva.

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

Ha egy származtatott osztályban felülbírált, bájtok közötti tartományba kódolja a megadott írásvédett tartomány karakterkészletét.

(Öröklődés forrása Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

A megadott String bájttömbbe kódol egy karakterkészletet.

GetBytes(String, Int32, Int32)

Ha egy származtatott osztályban felülbírált, bájtokból álló tömbbe kódolja a megadott sztringben megadott count karakterek számát a megadott indexkarakterláncból kiindulva.

(Öröklődés forrása Encoding)
GetBytes(String)

Ha felülbírált egy származtatott osztályban, a megadott sztringben szereplő összes karaktert bájtok sorozatába kódolja.

(Öröklődés forrása Encoding)
GetCharCount(Byte[], Int32, Int32)

A megadott bájttömbből származó bájtsorozat dekódolásával előállított karakterek számát számítja ki.

GetCharCount(Byte[])

Származtatott osztályban felülbírálva kiszámítja a megadott bájttömb összes bájtjának dekódolásával előállított karakterek számát.

(Öröklődés forrása Encoding)
GetCharCount(Byte*, Int32)

A megadott bájtmutatótól kezdődő bájtsor dekódolásával előállított karakterek számát számítja ki.

GetCharCount(ReadOnlySpan<Byte>)

Ha egy származtatott osztályban felül van bírálva, kiszámítja a megadott írásvédett bájttartomány dekódolásával előállított karakterek számát.

(Öröklődés forrása Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Bájtok sorozatát dekódolja a megadott bájttömbből a megadott karaktertömbbe.

GetChars(Byte[], Int32, Int32)

Ha egy származtatott osztályban felülbírál, a megadott bájttömbből származó bájtok sorozatát karakterkészletté dekódolja.

(Öröklődés forrása Encoding)
GetChars(Byte[])

Származtatott osztályban felülbírálva a megadott bájttömb összes bájtját karakterkészletté alakítja.

(Öröklődés forrása Encoding)
GetChars(Byte*, Int32, Char*, Int32)

A megadott bájtmutatótól kezdve a bájtok sorozatát a megadott karaktermutatótól kezdődően tárolt karakterkészletté dekódolja.

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

Ha egy származtatott osztályban felülbírál, a megadott írásvédett bájttartományban lévő összes bájtot karakterskávé alakítja.

(Öröklődés forrása Encoding)
GetDecoder()

Lekér egy dekódolót, amely UTF-32 kódolású bájtok sorozatát Unicode-karakterek sorozatává alakítja.

GetEncoder()

Beolvas egy kódolót, amely Unicode-karakterek sorozatát UTF-32 kódolású bájtok sorozatává alakítja.

GetHashCode()

Az aktuális példány kivonatkódját adja vissza.

GetMaxByteCount(Int32)

Kiszámítja a megadott számú karakter kódolásával előállított bájtok maximális számát.

GetMaxCharCount(Int32)

Kiszámítja a megadott bájtszám dekódolásával előállított karakterek maximális számát.

GetPreamble()

UTF-32 formátumban kódolt Unicode bájtsorrend-jelet ad vissza, ha az UTF32Encoding objektum úgy van konfigurálva, hogy adjon meg egyet.

GetString(Byte[], Int32, Int32)

Bájttartományt kódol egy bájttömbből egy sztringbe.

GetString(Byte[])

Származtatott osztályban felülbírálva a megadott bájttömb összes bájtját sztringgé alakítja.

(Öröklődés forrása Encoding)
GetString(Byte*, Int32)

Ha egy származtatott osztályban felülbírál, egy megadott címtől kezdődően megadott számú bájtot kódol sztringgé.

(Öröklődés forrása Encoding)
GetString(ReadOnlySpan<Byte>)

Származtatott osztályban felülbírálva a megadott bájttartomány összes bájtját sztringgé alakítja.

(Öröklődés forrása Encoding)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsAlwaysNormalized()

Beolvas egy értéket, amely jelzi, hogy az aktuális kódolás mindig normalizálva van-e az alapértelmezett normalizálási űrlap használatával.

(Öröklődés forrása Encoding)
IsAlwaysNormalized(NormalizationForm)

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy az aktuális kódolás mindig normalizálva van-e a megadott normalizálási űrlap használatával.

(Öröklődés forrása Encoding)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

A megadott írásvédett tartományból származó karaktereket bájtok halmazára kódolja, ha a cél elég nagy.

(Öröklődés forrása Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

A megadott írásvédett tartományból származó bájtok halmazát dekódolja, ha a cél elég nagy.

(Öröklődés forrása Encoding)

Bővítő metódusok

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

Dekódolja a megadott ReadOnlySequence<T> értéket a megadott értékrebyte, és az eredményt a következőre writerEncoding írja: .

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

A megadott értéket kódolja a megadott ReadOnlySequence<T> értékrebyte, és az eredményt a következőre bytesEncoding adja ki: .

GetBytes(Encoding, ReadOnlySequence<Char>)

A megadott tömbbe Byte kódolja a megadott .ReadOnlySequence<T>Encoding

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

Kódolja a megadott ReadOnlySpan<T> értéket a megadott értékrebyte, és az eredményt a következőre writerEncoding írja: .

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

Dekódolja a megadott ReadOnlySequence<T> értéket a megadott értékrechar, és az eredményt a következőre writerEncoding írja: .

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

Dekódolja a megadott ReadOnlySequence<T> értéket a megadott értékrechar, és az eredményt a következőre charsEncoding adja ki: .

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

Dekódolja a megadott ReadOnlySpan<T> értéket a megadott értékrechar, és az eredményt a következőre writerEncoding írja: .

GetString(Encoding, ReadOnlySequence<Byte>)

A megadott kód dekódolása a String megadott ReadOnlySequence<T>Encodinghasználatával.

A következőre érvényes:

Lásd még