Utf8.ToUtf16 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 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í.
- bytesRead
- Int32
Když metoda vrátí hodnotu , počet bajtů přečtených z source
metody .
- 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 source
souboru 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 true
replaceInvalidSequences , metoda nikdy nevrátí OperationStatus.InvalidData. Pokud isFinalBlock je true
, metoda nikdy nevrátí OperationStatus.NeedMoreData.