Sdílet prostřednictvím


Utf8.ToUtf16 Metoda

Definice

Převede bajtový rozsah s kódováním UTF-8 jen pro čtení na rozsah znaků s kódováním 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

Parametry

source
ReadOnlySpan<Byte>

Bajtový rozsah s kódováním UTF-8 jen pro čtení.

destination
Span<Char>

Rozsah znaků v kódování UTF-16.

bytesRead
Int32

Když metoda vrátí hodnotu , počet bajtů přečtených z sourcemetody .

charsWritten
Int32

Když metoda vrátí, počet znaků zapsaných do destination.

replaceInvalidSequences
Boolean

true k nahrazení neplatných sekvencí UTF-8 v souboru source pomocí U+FFFD; false k vrácení InvalidData , pokud jsou v sourcesouboru nalezeny neplatné znaky.

isFinalBlock
Boolean

true pokud metoda nemá vrátit NeedMoreDatahodnotu , jinak hodnota false.

Návraty

Hodnota, která označuje stav převodu.

Poznámky

Tato metoda odpovídá metodě UTF8Encoding.GetChars s výjimkou toho, že má jinou konvenci volání, různé mechanismy zpracování chyb a různé charakteristiky výkonu.

Pokud "replaceInvalidSequences" je true, metoda nahradí všechny špatně vytvořené subsequence v source souboru pomocí U+FFFD v a pokračuje ve destination zpracování zbytku vyrovnávací paměti. V opačném případě metoda vrátí OperationStatus.InvalidData , pokud narazí na nějaké špatně vytvořené sekvence.

Pokud metoda vrátí kód chyby, out parametry indikují, kolik dat bylo úspěšně překódováno a umístění špatně vytvořené dílčí sekvence lze odvodit z těchto hodnot.

Pokud je truereplaceInvalidSequences , metoda nikdy nevrátí OperationStatus.InvalidData. Pokud isFinalBlock je true, metoda nikdy nevrátí OperationStatus.NeedMoreData.

Platí pro