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


Utf8.ToUtf16 Метод

Определение

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

public static System.Buffers.OperationStatus ToUtf16 (ReadOnlySpan<byte> source, Span<char> destination, out int bytesRead, out int charsWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true);
static member ToUtf16 : ReadOnlySpan<byte> * Span<char> * int * int * bool * bool -> System.Buffers.OperationStatus
Public Shared Function ToUtf16 (source As ReadOnlySpan(Of Byte), destination As Span(Of Char), ByRef bytesRead As Integer, ByRef charsWritten As Integer, Optional replaceInvalidSequences As Boolean = true, Optional isFinalBlock As Boolean = true) As OperationStatus

Параметры

source
ReadOnlySpan<Byte>

Диапазон байтов только для чтения в кодировке UTF-8.

destination
Span<Char>

Диапазон символов в кодировке UTF-16.

bytesRead
Int32

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

charsWritten
Int32

Количество символов, записанных в destination, при возврате управления методом.

replaceInvalidSequences
Boolean

Значение true для замены недопустимых последовательностей UTF-8 в source на U+FFFD; значение false для возврата InvalidData в случае обнаружения недопустимых символов в source.

isFinalBlock
Boolean

Значение true, если метод не должен возвращать NeedMoreData; в противном случае значение false.

Возвращаемое значение

Значение, представляющее состояние преобразования.

Комментарии

Этот метод соответствует методу UTF8Encoding.GetChars , за исключением того, что он имеет другое соглашение о вызовах, различные механизмы обработки ошибок и различные характеристики производительности.

Если "replaceInvalidSequences" имеет значение true, метод заменяет все неправильно сформированные вложенные последовательности в source на U+FFFD в и destination продолжает обработку оставшейся части буфера. В противном случае метод возвращает , OperationStatus.InvalidData если обнаруживает какие-либо неправильно сформированные последовательности.

Если метод возвращает код ошибки, параметры out указывают, какая часть данных была успешно перекодирована, и расположение неправильно сформированной подсчетной последовательности можно вывести из этих значений.

Если "replaceInvalidSequences" имеет значение true, метод никогда не возвращает OperationStatus.InvalidData. Если isFinalBlock имеет значение true, метод никогда не возвращает OperationStatus.NeedMoreData.

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