Sdílet prostřednictvím


Utf8.FromUtf16 Metoda

Definice

Převede rozsah znaků UTF-16 na rozsah kódování 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

Parametry

source
ReadOnlySpan<Char>

Rozsah znaků jen pro čtení kódování UTF-16

destination
Span<Byte>

Rozsah bajtu kódování UTF-8

charsRead
Int32

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

bytesWritten
Int32

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

replaceInvalidSequences
Boolean

true nahradit neplatné sekvence source UTF-16 v U+FFFD; false vrátit InvalidData , pokud jsou nalezeny sourceneplatné znaky .

isFinalBlock
Boolean

true pokud by metoda neměla vrátit NeedMoreData; jinak, false.

Návraty

OperationStatus

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

Poznámky

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

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

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

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

Platí pro