Utf8.FromUtf16 Methode

Definition

Konvertiert eine Spanne von UTF-16-Zeichen in eine UTF-8-codierte Bytespanne.

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

Parameter

source
ReadOnlySpan<Char>

Eine UTF-16-codierte schreibgeschützte Zeichenspanne.

destination
Span<Byte>

Eine UTF-8-codierte Bytespanne.

charsRead
Int32

Bei Rückgabe der Methode die Anzahl der aus source gelesenen Zeichen.

bytesWritten
Int32

Bei Rückgabe der Methode die Anzahl der in destination geschriebenen Bytes.

replaceInvalidSequences
Boolean

true zum Ersetzen ungültiger UTF-16-Sequenzen in source durch U+FFFD; false zur Rückgabe von InvalidData, wenn ungültige Zeichen in source gefunden werden.

isFinalBlock
Boolean

true, wenn die Methode nicht NeedMoreData zurückgeben soll, andernfalls false.

Gibt zurück

OperationStatus

Ein Wert, der den Status der Konvertierung angibt.

Hinweise

Diese Methode entspricht der UTF8Encoding.GetBytes-Methode , außer dass es über eine andere Aufrufkonvention, verschiedene Fehlerbehandlungsmechanismen und unterschiedliche Leistungseigenschaften verfügt.

Wenn "replaceInvalidSequences" ist true, ersetzt die Methode alle unformierten Untersequencen in source U+FFFD in destination und verarbeitet weiterhin den Rest des Puffers. Andernfalls gibt OperationStatus.InvalidData die Methode zurück, wenn es auf unformierte Sequenzen trifft.

Wenn die Methode einen Fehlercode zurückgibt, geben die Out-Parameter an, wie viel Daten erfolgreich transcodiert wurden, und die Position der unformierten Untersequence kann aus diesen Werten abgeleitet werden.

Wenn "replaceInvalidSequences" lautet true, gibt die Methode nie zurück OperationStatus.InvalidData. Wenn "isFinalBlock" lautet true, gibt die Methode nie zurück OperationStatus.NeedMoreData.

Gilt für