UTF32Encoding Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет кодировку UTF-32 символов Юникода.
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
- Наследование
- Атрибуты
Примеры
В следующем примере показано поведение UTF32Encoding объектов с включенным обнаружением ошибок и без нее. Он создает массив байтов, последние четыре байта которого представляют недопустимую суррогатную пару; за высоким суррогатным U+D8FF следует U+01FF, который находится за пределами диапазона низких суррогатов (0xDC00 через 0xDFFF). Без обнаружения ошибок декодировщик UTF32 использует резервный вариант замены для замены недопустимой суррогатной пары с символом ЗАМЕНЫ (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ăǽβ�
В следующем примере строка символов Юникода кодируется в массив байтов с помощью UTF32Encoding объекта. Затем массив байтов декодируется в строку, чтобы продемонстрировать отсутствие потери данных.
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 (Σ).
В следующем примере используется та же строка, что и предыдущая, за исключением того, что она записывает кодированные байты в файл и префиксирует поток байтов с меткой порядка байтов (BOM). Затем он считывает файл двумя разными способами: в виде текстового StreamReader файла с помощью объекта, а также в виде двоичного файла. Как и ожидалось, ни новая строка чтения не включает 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 (Σ).
Комментарии
Кодировка — это процесс преобразования набора символов Юникода в последовательность байтов. Декодирование — это процесс преобразования последовательности закодированных байтов в набор символов Юникода.
Стандарт Юникод назначает кодовую точку (число) каждому символу в каждом поддерживаемом скрипте. Формат преобразования Юникода (UTF) — это способ кодирования этой кодовой точки. Стандарт Юникода использует следующие UTFs:
UTF-8, представляющий каждую точку кода в виде последовательности от одного до четырех байтов.
UTF-16, представляющий каждую точку кода в виде последовательности из двух до двух 16-разрядных целых чисел.
UTF-32, представляющий каждую кодовую точку в виде 32-разрядного целого числа.
Дополнительные сведения о UTFs и других кодировках, поддерживаемых System.Text, см. в разделе "Кодировка символов" в .NET.
Класс UTF32Encoding представляет кодировку UTF-32. Кодировщик может использовать порядок байтов больших байтов (наиболее значимый байт первый) или маленький байтовый порядок байтов (наименее значимый байт первым). Например, латинская буква буквы A (кодовая точка U+0041) сериализуется следующим образом (в шестнадцатеричном формате):
Порядок байтов больших байтов: 00 00 00 41
Маленький байтовый порядок байтов: 41 00 00 00
Как правило, более эффективно хранить символы Юникода с помощью собственного порядка байтов. Например, лучше использовать младший байтовый порядок на платформах с младшим порядком байтов, таких как компьютеры Intel. UTF32Encoding соответствует кодовой странице Windows 12000 (маленький байтовый порядок байтов) и 12001 (байтовый порядок больших байтов). Вы можете определить "endianness" определенной архитектуры, вызвав BitConverter.IsLittleEndian метод.
UTF32Encoding При необходимости объект предоставляет метку порядка байтов (BOM), которая представляет собой массив байтов, который можно префиксировать в последовательность байтов, полученную из процесса кодирования. Если преамблирование содержит метку порядка байтов (BOM), она помогает декодеру определить порядок байтов и формат преобразования или UTF массива байтов.
UTF32Encoding Если экземпляр настроен для предоставления BOM, его можно получить, вызвав GetPreamble метод. В противном случае метод возвращает пустой массив. Обратите внимание, что даже если UTF32Encoding объект настроен для поддержки BOM, необходимо включить BOM в начале закодированного потока байтов в соответствии с соответствующим образом; методы UTF32Encoding кодирования класса не делают это автоматически.
Предостережение
Чтобы включить обнаружение ошибок и сделать экземпляр класса более безопасным, необходимо создать UTF32Encoding экземпляр объекта, вызвав UTF32Encoding(Boolean, Boolean, Boolean) конструктор и задав его throwOnInvalidBytes аргумент true. При обнаружении ошибок метод, который обнаруживает недопустимую последовательность символов или байтов, вызывает ArgumentException исключение. Без обнаружения ошибок исключение не возникает, а недопустимая последовательность обычно игнорируется.
Вы можете создать экземпляр UTF32Encoding объекта несколькими способами в зависимости от того, нужно ли ему предоставить метку порядка байтов (BOM), требуется ли кодировка big-endian или little-endian, а также включение обнаружения ошибок. В следующей таблице перечислены UTF32Encoding конструкторы и Encoding свойства, возвращающие UnicodeEncoding объект.
| Член | Порядок байтов | БОМ | Определение ошибки |
|---|---|---|---|
| Encoding.UTF32 | Маленький эндиан | Yes | Нет (резервный вариант замены) |
| UTF32Encoding.UTF32Encoding() | Маленький эндиан | Yes | Нет (резервный вариант замены) |
| UTF32Encoding.UTF32Encoding(Boolean, Boolean) | Configurable | Configurable | Нет (резервный вариант замены) |
| UTF32Encoding.UTF32Encoding(Boolean, Boolean, Boolean) | Configurable | Configurable | Configurable |
Метод GetByteCount определяет, сколько байтов приводит к кодированию набора символов Юникода, а GetBytes метод выполняет фактическую кодировку.
Аналогичным образом, GetCharCount метод определяет, сколько символов приводит к декодированию последовательности байтов, а GetCharsGetString методы выполняют фактическое декодирование.
Для кодировщика или декодировщика, который может сохранять сведения о состоянии при кодировании или декодировании данных, охватывающих несколько блоков (например, строка из 1 миллиона символов, закодированных в 100 000 символьных сегментов), используйте GetEncoderGetDecoder и свойства соответственно.
Конструкторы
| Имя | Описание |
|---|---|
| UTF32Encoding() |
Инициализирует новый экземпляр класса UTF32Encoding. |
| UTF32Encoding(Boolean, Boolean, Boolean) |
Инициализирует новый экземпляр класса UTF32Encoding. Параметры указывают, следует ли использовать порядок байтов больших байтов, указывать ли метку порядка байтов Юникода и вызывать ли исключение при обнаружении недопустимой кодировки. |
| UTF32Encoding(Boolean, Boolean) |
Инициализирует новый экземпляр класса UTF32Encoding. Параметры указывают, следует ли использовать порядок байтов больших байтов и возвращает ли GetPreamble() метод знак порядка байтов Юникода. |
Свойства
| Имя | Описание |
|---|---|
| BodyName |
При переопределении в производном классе получает имя текущей кодировки, которую можно использовать с тегами текста агента почты. (Унаследовано от Encoding) |
| CodePage |
При переопределении в производном классе получает идентификатор кодовой страницы текущего Encoding. (Унаследовано от Encoding) |
| DecoderFallback |
Возвращает или задает DecoderFallback объект для текущего Encoding объекта. (Унаследовано от Encoding) |
| EncoderFallback |
Возвращает или задает EncoderFallback объект для текущего Encoding объекта. (Унаследовано от Encoding) |
| EncodingName |
При переопределении в производном классе получает удобочитаемое пользователем описание текущей кодировки. (Унаследовано от Encoding) |
| HeaderName |
При переопределении в производном классе получает имя текущей кодировки, которую можно использовать с тегами заголовков агента почты. (Унаследовано от Encoding) |
| IsBrowserDisplay |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться клиентами браузера для отображения содержимого. (Унаследовано от Encoding) |
| IsBrowserSave |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться клиентами браузера для сохранения содержимого. (Унаследовано от Encoding) |
| IsMailNewsDisplay |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться почтовыми клиентами и клиентами новостей для отображения содержимого. (Унаследовано от Encoding) |
| IsMailNewsSave |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться почтовыми клиентами и клиентами новостей для сохранения содержимого. (Унаследовано от Encoding) |
| IsReadOnly |
При переопределении в производном классе получает значение, указывающее, доступна ли текущая кодировка только для чтения. (Унаследовано от Encoding) |
| IsSingleByte |
При переопределении в производном классе получает значение, указывающее, использует ли текущая кодировка точки кода с одним байтом. (Унаследовано от Encoding) |
| Preamble |
Получает метку порядка байтов Юникода, закодированную в формате UTF-32, если этот объект настроен для предоставления одного. |
| Preamble |
При переопределении в производном классе возвращает диапазон, содержащий последовательность байтов, указывающую используемую кодировку. (Унаследовано от Encoding) |
| WebName |
При переопределении в производном классе получает имя, зарегистрированное в Центр назначения номеров Интернета (IANA) для текущей кодировки. (Унаследовано от Encoding) |
| WindowsCodePage |
При переопределении в производном классе получает кодовую страницу операционной системы Windows, которая наиболее тесно соответствует текущей кодировке. (Унаследовано от Encoding) |
Методы
| Имя | Описание |
|---|---|
| Clone() |
При переопределении в производном классе создает неглубокую копию текущего Encoding объекта. (Унаследовано от Encoding) |
| Equals(Object) |
Определяет, равен ли указанный Object объект текущему UTF32Encoding объекту. |
| GetByteCount(Char[], Int32, Int32) |
Вычисляет количество байтов, созданных путем кодирования набора символов из указанного массива символов. |
| GetByteCount(Char[]) |
При переопределении в производном классе вычисляет количество байтов, созданных путем кодирования всех символов в указанном массиве символов. (Унаследовано от Encoding) |
| GetByteCount(Char*, Int32) |
Вычисляет количество байтов, созданных путем кодирования набора символов, начиная с указанного указателя символов. |
| GetByteCount(ReadOnlySpan<Char>) |
При переопределении в производном классе вычисляет количество байтов, созданных путем кодирования символов в указанном диапазоне символов. (Унаследовано от Encoding) |
| GetByteCount(String, Int32, Int32) |
При переопределении в производном классе вычисляет количество байтов, созданных путем кодирования набора символов из указанной строки. (Унаследовано от Encoding) |
| GetByteCount(String) |
Вычисляет количество байтов, созданных путем кодирования символов в указанном.String |
| GetBytes(Char[], Int32, Int32, Byte[], Int32) |
Кодирует набор символов из указанного массива символов в указанный массив байтов. |
| GetBytes(Char[], Int32, Int32) |
При переопределении в производном классе кодирует набор символов из указанного массива символов в последовательность байтов. (Унаследовано от Encoding) |
| GetBytes(Char[]) |
При переопределении в производном классе кодирует все символы в указанном массиве символов в последовательность байтов. (Унаследовано от Encoding) |
| GetBytes(Char*, Int32, Byte*, Int32) |
Кодирует набор символов, начиная с указанного указателя символов, в последовательность байтов, хранящихся начиная с указанного указателя байтов. |
| GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
При переопределении в производном классе кодируется в диапазон байтов набор символов из указанного диапазона только для чтения. (Унаследовано от Encoding) |
| GetBytes(String, Int32, Int32, Byte[], Int32) |
Кодирует набор символов из указанного в указанный String массив байтов. |
| GetBytes(String, Int32, Int32) |
При переопределении в производном классе кодируется в массив байтов число символов, указанных |
| GetBytes(String) |
При переопределении в производном классе кодирует все символы в указанной строке в последовательность байтов. (Унаследовано от Encoding) |
| GetCharCount(Byte[], Int32, Int32) |
Вычисляет количество символов, созданных путем декодирования последовательности байтов из указанного массива байтов. |
| GetCharCount(Byte[]) |
При переопределении в производном классе вычисляет количество символов, созданных путем декодирования всех байтов в указанном массиве байтов. (Унаследовано от Encoding) |
| GetCharCount(Byte*, Int32) |
Вычисляет количество символов, созданных путем декодирования последовательности байтов, начиная с указанного указателя байтов. |
| GetCharCount(ReadOnlySpan<Byte>) |
При переопределении в производном классе вычисляет количество символов, созданных путем декодирования предоставленного диапазона байтов только для чтения. (Унаследовано от Encoding) |
| GetChars(Byte[], Int32, Int32, Char[], Int32) |
Декодирует последовательность байтов из указанного массива байтов в указанный массив символов. |
| GetChars(Byte[], Int32, Int32) |
При переопределении в производном классе декодирует последовательность байтов из указанного массива байтов в набор символов. (Унаследовано от Encoding) |
| GetChars(Byte[]) |
При переопределении в производном классе декодирует все байты в указанном массиве байтов в набор символов. (Унаследовано от Encoding) |
| GetChars(Byte*, Int32, Char*, Int32) |
Декодирует последовательность байтов, начиная с указанного указателя байтов, в набор символов, хранящихся начиная с указанного указателя символов. |
| GetChars(ReadOnlySpan<Byte>, Span<Char>) |
При переопределении в производном классе декодирует все байты в указанном диапазоне байтов только для чтения в диапазон символов. (Унаследовано от Encoding) |
| GetDecoder() |
Получает декодатор, который преобразует последовательность байтов в кодировке UTF-32 в последовательность символов Юникода. |
| GetEncoder() |
Получает кодировщик, который преобразует последовательность символов Юникода в последовательность байтов в кодировке UTF-32. |
| GetHashCode() |
Возвращает хэш-код для текущего экземпляра. |
| GetMaxByteCount(Int32) |
Вычисляет максимальное количество байтов, созданных путем кодирования указанного числа символов. |
| GetMaxCharCount(Int32) |
Вычисляет максимальное количество символов, созданных путем декодирования указанного числа байтов. |
| GetPreamble() |
Возвращает метку порядка байтов Юникода, закодированную в формате UTF-32, если UTF32Encoding объект настроен для предоставления одного. |
| GetString(Byte[], Int32, Int32) |
Декодирует диапазон байтов из массива байтов в строку. |
| GetString(Byte[]) |
При переопределении в производном классе декодирует все байты в указанном массиве байтов в строку. (Унаследовано от Encoding) |
| GetString(Byte*, Int32) |
При переопределении в производном классе декодирует указанное число байтов, начиная с указанного адреса в строку. (Унаследовано от Encoding) |
| GetString(ReadOnlySpan<Byte>) |
При переопределении в производном классе декодирует все байты в указанном диапазоне байтов в строку. (Унаследовано от Encoding) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsAlwaysNormalized() |
Возвращает значение, указывающее, всегда ли текущая кодировка нормализована, используя форму нормализации по умолчанию. (Унаследовано от Encoding) |
| IsAlwaysNormalized(NormalizationForm) |
При переопределении в производном классе получает значение, указывающее, всегда ли текущая кодировка нормализована, используя указанную форму нормализации. (Унаследовано от Encoding) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32) |
Кодирует в диапазон байтов набор символов из указанного диапазона только для чтения, если целевой объект достаточно велик. (Унаследовано от Encoding) |
| TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32) |
Декодирует в диапазон символов набор байтов из указанного диапазона только для чтения, если целевой объект достаточно велик. (Унаследовано от Encoding) |