Utf8.FromUtf16 Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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
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.