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.
- 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.