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.
- charsRead
- Int32
Количество символов, считанных из source
, при возврате управления методом.
- bytesWritten
- Int32
Число байтов, записываемых в destination
, при возврате управления методом.
- replaceInvalidSequences
- Boolean
Значение true
для замены недопустимых последовательностей UTF-16 в source
на U+FFFD; значение false
для возврата InvalidData в случае обнаружения недопустимых символов в source
.
- isFinalBlock
- Boolean
Значение true
, если метод не должен возвращать NeedMoreData; в противном случае значение false
.
Возвращаемое значение
Значение, представляющее состояние преобразования.
Комментарии
Этот метод соответствует методу UTF8Encoding.GetBytes , за исключением того, что он имеет другое соглашение о вызовах, различные механизмы обработки ошибок и различные характеристики производительности.
Если параметр replaceInvalidSequences имеет значение true
, метод заменяет все недоформированные подсезоны в source
U+FFFD destination
и продолжает обработку оставшейся части буфера. В противном случае метод возвращается OperationStatus.InvalidData , если он встречает какие-либо неправильно сформированные последовательности.
Если метод возвращает код ошибки, параметры out указывают, сколько данных успешно перекодировано, а расположение неправильно сформированного подсечения можно вывести из этих значений.
Если параметр replaceInvalidSequences имеет значение true
, метод никогда не возвращается OperationStatus.InvalidData. Если параметр isFinalBlock имеет значение true
, метод никогда не возвращается OperationStatus.NeedMoreData.