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.