Utf8.FromUtf16 Метод

Определение

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

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

Параметры

source
ReadOnlySpan<Char>

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

destination
Span<Byte>

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

charsRead
Int32

При возврате метода число символов, считываемых из source.

bytesWritten
Int32

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

replaceInvalidSequences
Boolean

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

isFinalBlock
Boolean

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

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

Значение, указывающее состояние преобразования.

Комментарии

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

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

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

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

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