Поделиться через


UTF8Encoding Класс

Определение

Представляет кодировку символов Юникода в формате UTF-8.

public ref class UTF8Encoding : System::Text::Encoding
public class UTF8Encoding : System.Text.Encoding
[System.Serializable]
public class UTF8Encoding : System.Text.Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class UTF8Encoding : System.Text.Encoding
type UTF8Encoding = class
    inherit Encoding
[<System.Serializable>]
type UTF8Encoding = class
    inherit Encoding
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UTF8Encoding = class
    inherit Encoding
Public Class UTF8Encoding
Inherits Encoding
Наследование
UTF8Encoding
Атрибуты

Примеры

В следующем примере объект используется UTF8Encoding для кодирования строки символов Юникода и их хранения в массиве байтов. Строка Юникода содержит два символа: Pi (U+03A0) и Сигма (U+03A3), которые находятся за пределами диапазона символов ASCII. Когда закодированный массив байтов декодируется обратно в строку, символы Pi и Sigma по-прежнему присутствуют.

using namespace System;
using namespace System::Text;
//using namespace System::Collections;

int main()
{
   // Create a UTF-8 encoding.
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   
   // A Unicode string with two characters outside an 8-bit code range.
   String^ unicodeString = L"This Unicode string has 2 characters " +
                           L"outside the ASCII range:\n" +
                           L"Pi (\u03a0), and Sigma (\u03a3).";
   Console::WriteLine("Original string:");
   Console::WriteLine(unicodeString);
   
   // Encode the string.
   array<Byte>^ encodedBytes = utf8->GetBytes(unicodeString );
   Console::WriteLine();
   Console::WriteLine("Encoded bytes:");
   for (int ctr = 0; ctr < encodedBytes->Length; ctr++) {
      Console::Write( "{0:X2} ", encodedBytes[ctr]);
      if ((ctr + 1) % 25 == 0)
         Console::WriteLine();
   }

   Console::WriteLine();
   
   // Decode bytes back to string.
   String^ decodedString = utf8->GetString(encodedBytes);
   Console::WriteLine();
   Console::WriteLine("Decoded bytes:");
   Console::WriteLine(decodedString);
}
// The example displays the following output:
//    Original string:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    Encoded bytes:
//    54 68 69 73 20 55 6E 69 63 6F 64 65 20 73 74 72 69 6E 67 20 68 61 73 20 32
//    20 63 68 61 72 61 63 74 65 72 73 20 6F 75 74 73 69 64 65 20 74 68 65 20 41
//    53 43 49 49 20 72 61 6E 67 65 3A 20 0D 0A 50 69 20 28 CE A0 29 2C 20 61 6E
//    64 20 53 69 67 6D 61 20 28 CE A3 29 2E
//
//    Decoded bytes:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
using System;
using System.Text;

class Example
{
    public static void Main()
    {
        // Create a UTF-8 encoding.
        UTF8Encoding utf8 = new UTF8Encoding();
        
        // A Unicode string with two characters outside an 8-bit code range.
        String unicodeString =
            "This Unicode string has 2 characters outside the " +
            "ASCII range:\n" +
            "Pi (\u03a0), and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        Byte[] encodedBytes = utf8.GetBytes(unicodeString);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        for (int ctr = 0; ctr < encodedBytes.Length; ctr++) {
            Console.Write("{0:X2} ", encodedBytes[ctr]);
            if ((ctr + 1) %  25 == 0)
               Console.WriteLine();
        }
        Console.WriteLine();
        
        // Decode bytes back to string.
        String decodedString = utf8.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    }
}
// The example displays the following output:
//    Original string:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    Encoded bytes:
//    54 68 69 73 20 55 6E 69 63 6F 64 65 20 73 74 72 69 6E 67 20 68 61 73 20 32
//    20 63 68 61 72 61 63 74 65 72 73 20 6F 75 74 73 69 64 65 20 74 68 65 20 41
//    53 43 49 49 20 72 61 6E 67 65 3A 20 0D 0A 50 69 20 28 CE A0 29 2C 20 61 6E
//    64 20 53 69 67 6D 61 20 28 CE A3 29 2E
//
//    Decoded bytes:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
Imports System.Text

Class Example
    Public Shared Sub Main()
        ' Create a UTF-8 encoding.
        Dim utf8 As New UTF8Encoding()
        
        ' A Unicode string with two characters outside an 8-bit code range.
        Dim unicodeString 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(unicodeString)
        
        ' Encode the string.
        Dim encodedBytes As Byte() = utf8.GetBytes(unicodeString)
        Console.WriteLine()
        Console.WriteLine("Encoded bytes:")
        For ctr As Integer = 0 To encodedBytes.Length - 1
            Console.Write("{0:X2} ", encodedBytes(ctr))
            If (ctr + 1) Mod 25 = 0 Then Console.WriteLine
        Next
        Console.WriteLine()
        
        ' Decode bytes back to string.
        Dim decodedString As String = utf8.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded bytes:")
        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 (Σ).
'
'    Encoded bytes:
'    54 68 69 73 20 55 6E 69 63 6F 64 65 20 73 74 72 69 6E 67 20 68 61 73 20 32
'    20 63 68 61 72 61 63 74 65 72 73 20 6F 75 74 73 69 64 65 20 74 68 65 20 41
'    53 43 49 49 20 72 61 6E 67 65 3A 20 0D 0A 50 69 20 28 CE A0 29 2C 20 61 6E
'    64 20 53 69 67 6D 61 20 28 CE A3 29 2E
'
'    Decoded bytes:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).

В следующем примере используется та же строка, что и в предыдущем примере, за исключением того, что она записывает закодированные байты в файл и префикс потока байтов с меткой порядка байтов (BOM). Затем он считывает файл двумя разными способами: как текстовый файл с помощью StreamReader объекта и как двоичный файл. Как и следовало ожидать, ни новая прочитанная строка не содержит спецификацию.

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

public class Example
{
   public static void Main()
   {
        // Create a UTF-8 encoding that supports a BOM.
        Encoding utf8 = new UTF8Encoding(true);

        // A Unicode string with two characters outside an 8-bit code range.
        String unicodeString =
            "This Unicode string has 2 characters outside the " +
            "ASCII range:\n" +
            "Pi (\u03A0)), and Sigma (\u03A3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);
        Console.WriteLine();

        // Encode the string.
        Byte[] encodedBytes = utf8.GetBytes(unicodeString);
        Console.WriteLine("The encoded string has {0} bytes.",
                          encodedBytes.Length);
        Console.WriteLine();

        // Write the bytes to a file with a BOM.
        var fs = new FileStream(@".\UTF8Encoding.txt", FileMode.Create);
        Byte[] bom = utf8.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.
        var sr = new StreamReader(@".\UTF8Encoding.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(@".\UTF8Encoding.txt", FileMode.Open);
        Byte[] bytes = new Byte[fs.Length];
        fs.Read(bytes, 0, (int)fs.Length);
        fs.Close();

        String decodedString = utf8.GetString(bytes);
        Console.WriteLine("Decoded bytes:");
        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 88 bytes.
//
//    Wrote 91 bytes to the file.
//
//    String read using StreamReader:
//    This Unicode string has 2 characters outside the ASCII range:
//    Pi (π), and Sigma (Σ).
//
//    Decoded bytes:
//    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-8 encoding that supports a BOM.
        Dim utf8 As New UTF8Encoding(True)
        
        ' A Unicode string with two characters outside an 8-bit code range.
        Dim unicodeString 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(unicodeString)
        Console.WriteLine()
        
        ' Encode the string.
        Dim encodedBytes As Byte() = utf8.GetBytes(unicodeString)
        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(".\UTF8Encoding.txt", FileMode.Create)
        Dim bom() As Byte = utf8.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(".\UTF8Encoding.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(".\UTF8Encoding.txt", FileMode.Open)
        Dim bytes(fs.Length - 1) As Byte
        fs.Read(bytes, 0, fs.Length)
        fs.Close()

        Dim decodedString As String = utf8.GetString(bytes)
        Console.WriteLine("Decoded bytes:")
        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 88 bytes.
'
'    Wrote 91 bytes to the file.
'
'    String read using StreamReader:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).
'
'    Decoded bytes:
'    This Unicode string has 2 characters outside the ASCII range:
'    Pi (π), and Sigma (Σ).

Комментарии

Кодирование - это процесс преобразования набора символов Юникода в последовательность байтов. Декодирование — это процесс преобразования последовательности закодированных байтов в набор символов Юникода.

UTF-8 — это кодировка Юникода, представляющая каждую кодовую точку в виде последовательности от одного до четырех байтов. В отличие от кодировки UTF-16 и UTF-32, для кодировки UTF-8 не требуется "endianness"; схема кодирования одинакова независимо от того, является ли процессор большим или маленьким. UTF8Encoding соответствует кодовой странице Windows 65001. Дополнительные сведения о UTFS и других кодировках, поддерживаемых System.Text, см. в разделе Кодировка символов в платформа .NET Framework.

Создать экземпляр UTF8Encoding объекта можно несколькими способами в зависимости от того, нужно ли ему предоставить метку порядка байтов (BOM) и включить ли обнаружение ошибок. В следующей таблице перечислены конструкторы и Encoding свойство, возвращающее UTF8Encoding объект .

Член BOM Определение ошибки
Encoding.UTF8 Да Нет (резервный вариант замены)
UTF8Encoding.UTF8Encoding() Нет Нет (резервный вариант замены)
UTF8Encoding.UTF8Encoding(Boolean) Настраивается Нет (резервный вариант замены)
UTF8Encoding.UTF8Encoding(Boolean, Boolean) Настраивается Настраивается

GetByteCountМетод определяет, сколько байт приводит к кодированию набора символов Юникода, и GetBytes метод выполняет фактическую кодировку.

Аналогичным образом метод определяет, GetCharCount сколько символов приводит к декодированию последовательности байтов, а GetChars методы и GetString выполняют фактическое декодирование.

Для кодировщика или декодера, который может сохранять сведения о состоянии при кодировании или декодирования данных, охватывающих несколько блоков (например, строки из 1 миллиона символов, закодированной в сегментах из 100 000 символов), используйте GetEncoder свойства и GetDecoder соответственно.

UTF8Encoding При необходимости объект предоставляет метку порядка байтов (BOM), которая представляет собой массив байтов, который может быть префиксирован в начале потока байтов, полученного в процессе кодирования. Если поток байтов в кодировке UTF-8 предваряется меткой порядка байтов (BOM), это помогает декодеру определить порядок байтов и формат преобразования или UTF. Однако обратите внимание, что стандарт Юникода не требует и не рекомендует BOM в потоках в кодировке UTF-8. Дополнительные сведения о порядке байтов и метке порядка байтов см. в стандарте Юникода на домашней странице Юникода.

Если кодировщик настроен для предоставления BOM, его можно получить, вызвав GetPreamble метод ; в противном случае метод возвращает пустой массив. Обратите внимание, что даже если UTF8Encoding объект настроен для поддержки BOM, необходимо включить BOM в начале закодированного потока байтов соответствующим образом. Методы UTF8Encoding кодирования класса не делают это автоматически.

Внимание!

Чтобы включить обнаружение ошибок и сделать экземпляр класса более безопасным, необходимо вызвать UTF8Encoding(Boolean, Boolean) конструктор и задать throwOnInvalidBytes для параметра значение true. Если обнаружение ошибок включено, метод, который обнаруживает недопустимую последовательность символов или байтов ArgumentException , создает исключение. Без обнаружения ошибок исключение не возникает, а недопустимая последовательность обычно игнорируется.

Примечание

Состояние объекта в кодировке UTF-8 не сохраняется, если объект сериализуется и десериализуется с использованием разных версий платформа .NET Framework.

Конструкторы

UTF8Encoding()

Инициализирует новый экземпляр класса UTF8Encoding.

UTF8Encoding(Boolean)

Инициализирует новый экземпляр класса UTF8Encoding. Параметр указывает, нужно ли предоставлять метку порядка байтов Юникода.

UTF8Encoding(Boolean, Boolean)

Инициализирует новый экземпляр класса UTF8Encoding. Параметры указывают, должна ли предоставляться метка порядка байтов Юникода и следует ли создавать исключение при обнаружении недопустимой кодировки.

Свойства

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-8, если объект настроен для ее предоставления.

Preamble

При переопределении в производном классе возвращает диапазон, содержащий последовательность байтов, задающую используемую кодировку.

(Унаследовано от Encoding)
WebName

При переопределении в производном классе получает для текущей кодировки имя, зарегистрированное в IANA (Internet Assigned Numbers Authority).

(Унаследовано от Encoding)
WindowsCodePage

При переопределении в производном классе получает кодовую страницу операционной системы Windows, наиболее точно соответствующую текущей кодировке.

(Унаследовано от Encoding)

Методы

Clone()

При переопределении в производном классе создается неполная копия текущего объекта Encoding.

(Унаследовано от Encoding)
Equals(Object)

Определяет, равен ли заданный объект текущему объекту UTF8Encoding.

GetByteCount(Char*, Int32)

Вычисляет число байтов, полученных при кодировании набора символов начиная с заданного указателя символа.

GetByteCount(Char*, Int32)

При переопределении в производном классе вычисляет количество байтов, полученных при кодировании набора символов, начиная с заданного указателя символа.

(Унаследовано от Encoding)
GetByteCount(Char[])

При переопределении в производном классе вычисляет количество байтов, полученных при кодировании всех символов из заданного массива символов.

(Унаследовано от Encoding)
GetByteCount(Char[], Int32, Int32)

Вычисляет число байтов, полученных при кодировании набора символов из указанного массива символов.

GetByteCount(ReadOnlySpan<Char>)

Вычисляет количество байтов, полученных при кодировании указанного диапазона символов.

GetByteCount(ReadOnlySpan<Char>)

При переопределении в производном классе вычисляет количество байтов, полученных при кодировании символов из заданного диапазона символов.

(Унаследовано от Encoding)
GetByteCount(String)

Вычисляет количество байтов, полученных при кодировании символов в заданном объекте String.

GetByteCount(String, Int32, Int32)

При переопределении в производном классе вычисляет количество байтов, полученных при кодировании набора символов из указанной строки.

(Унаследовано от Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Кодирует набор символов, начало которого задается указателем символа, в последовательность байтов, которые сохраняются начиная с заданного указателя байта.

GetBytes(Char*, Int32, Byte*, Int32)

При переопределении в производном классе кодирует набор символов, начало которого задается указателем символа, в последовательность байтов, которые сохраняются, начиная с заданного указателя байта.

(Унаследовано от Encoding)
GetBytes(Char[])

При переопределении в производном классе кодирует все символы из указанного массива символов в последовательность байтов.

(Унаследовано от Encoding)
GetBytes(Char[], Int32, Int32)

При переопределении в производном классе кодирует набор символов из указанного массива символов в последовательность байтов.

(Унаследовано от Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

Кодирует набор символов из заданного массива символов в указанный массив байтов.

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

Кодирует заданный диапазон символов в заданный диапазон байтов.

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

При переопределении в производном классе кодирует в диапазон байтов набор символов из указанного диапазона только для чтения.

(Унаследовано от Encoding)
GetBytes(String)

Кодирует символы из указанного объекта String в последовательность байтов.

GetBytes(String)

При переопределении в производном классе кодирует все символы заданной строки в последовательность байтов.

(Унаследовано от Encoding)
GetBytes(String, Int32, Int32)

При переопределении в производном классе кодирует в массив байтов количество символов, заданных count в указанной строке, начиная с указанного index.

(Унаследовано от Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Кодирует набор символов из заданного объекта String в указанный массив байтов.

GetCharCount(Byte*, Int32)

Вычисляет количество символов, полученных при декодировании последовательности байтов начиная с заданного указателя байта.

GetCharCount(Byte*, Int32)

При переопределении в производном классе вычисляет количество символов, полученных при декодировании последовательности байтов, начало которой задается указателем байтов.

(Унаследовано от Encoding)
GetCharCount(Byte[])

При переопределении в производном классе вычисляет количество символов, полученных при декодировании всех байтов из заданного массива байтов.

(Унаследовано от Encoding)
GetCharCount(Byte[], Int32, Int32)

Вычисляет количество символов, полученных при декодировании последовательности байтов из заданного массива байтов.

GetCharCount(ReadOnlySpan<Byte>)

Вычисляет количество символов, полученных при декодировании заданного диапазона байтов.

GetCharCount(ReadOnlySpan<Byte>)

При переопределении в производном классе вычисляет количество символов, полученных при декодировании предоставленного диапазона байтов только для чтения.

(Унаследовано от Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Декодирует последовательность байтов, начало которой задается указателем байта, в набор символов, которые сохраняются начиная с заданного указателя символа.

GetChars(Byte*, Int32, Char*, Int32)

При переопределении в производном классе декодирует последовательность байтов, которая начинается с заданного указателя байта, в набор символов, которые сохраняются, начиная с заданного указателя символа.

(Унаследовано от Encoding)
GetChars(Byte[])

При переопределении в производном классе декодирует все байты из указанного массива байтов в набор символов.

(Унаследовано от Encoding)
GetChars(Byte[], Int32, Int32)

При переопределении в производном классе декодирует последовательность байтов из указанного массива байтов в набор символов.

(Унаследовано от Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Декодирует последовательность байтов из заданного массива байтов в указанный массив символов.

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

Декодирует заданный диапазон байтов в заданный диапазон символов.

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

При переопределении в производном классе декодирует все байты из диапазона байтов только для чтения в диапазон символов.

(Унаследовано от Encoding)
GetDecoder()

Получает средство декодирования, преобразующее последовательность байтов в кодировке UTF-8 в последовательность символов Юникода.

GetEncoder()

Получает средство кодирования, преобразующее последовательность символов Юникода в последовательность байтов в кодировке UTF-8.

GetHashCode()

Возвращает хэш-код текущего экземпляра.

GetMaxByteCount(Int32)

Вычисляет максимальное количество байтов, полученных при кодировании заданного числа символов.

GetMaxCharCount(Int32)

Вычисляет максимальное количество символов, полученных при декодировании заданного числа байтов.

GetPreamble()

Возвращает метку порядка байтов Юникода в кодировке UTF-8, если кодирующий объект UTF8Encoding настроен для ее предоставления.

GetString(Byte*, Int32)

При переопределении в производном классе декодирует указанное количество байтов начиная с указанного адреса в строку.

(Унаследовано от Encoding)
GetString(Byte[])

При переопределении в производном классе декодирует все байты из указанного массива байтов в строку.

(Унаследовано от Encoding)
GetString(Byte[], Int32, Int32)

Декодирует диапазон байтов из массива байтов в строку.

GetString(Byte[], Int32, 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)

Кодирует в диапазон байтов набор символов из указанного диапазона только для чтения, если целевой объект достаточно велик.

TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Кодирует в диапазон байтов набор символов из указанного диапазона только для чтения, если целевой объект достаточно велик.

(Унаследовано от Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Декодирует в диапазон символов набор байтов из указанного диапазона только для чтения, если назначение достаточно велико.

TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Декодирует в диапазон символов набор байтов из указанного диапазона только для чтения, если назначение достаточно велико.

(Унаследовано от Encoding)

Методы расширения

GetBytes(Encoding, ReadOnlySequence<Char>)

Кодирует указанный объект ReadOnlySequence<T> в массив Byte, используя указанную кодировку Encoding.

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

Декодирует указанный объект ReadOnlySequence<T> в byte с использованием указанной кодировки Encoding и записывает результат в writer.

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

Кодирует указанный объект ReadOnlySequence<T> в byte с использованием указанной кодировки Encoding и выводит результат в bytes.

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

Кодирует указанный объект ReadOnlySpan<T> в byte с использованием указанной кодировки Encoding и записывает результат в writer.

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

Декодирует указанный объект ReadOnlySequence<T> в char с использованием указанной кодировки Encoding и записывает результат в writer.

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

Декодирует указанный объект ReadOnlySequence<T> в char с использованием указанной кодировки Encoding и выводит результат в chars.

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

Декодирует указанный объект ReadOnlySpan<T> в char с использованием указанной кодировки Encoding и записывает результат в writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Декодирует указанный объект ReadOnlySequence<T> в String, используя указанную кодировку Encoding.

Применяется к

См. также раздел