Utf8.ToUtf16 Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje zakodowany w formacie UTF-8 zakres bajtów tylko do odczytu na zakres znaków zakodowanych w formacie 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>
Zakodowany w formacie UTF-8 zakres bajtów tylko do odczytu.
- bytesRead
- Int32
Gdy metoda zwraca wartość , liczba bajtów odczytanych z source
metody .
- charsWritten
- Int32
Gdy metoda zwróci wartość , liczba znaków zapisanych w obiekcie destination
.
- replaceInvalidSequences
- Boolean
true
aby zastąpić nieprawidłowe sekwencje UTF-8 w elemencie source
U+FFFD; false
aby powrócić InvalidData , jeśli w elemencie source
znajdują się nieprawidłowe znaki.
- isFinalBlock
- Boolean
true
jeśli metoda nie powinna zwracać NeedMoreDatawartości ; w przeciwnym razie false
.
Zwraca
Wartość wskazująca stan konwersji.
Uwagi
Ta metoda odpowiada metodzie UTF8Encoding.GetChars , z tą różnicą, że ma inną konwencję wywoływania, różne mechanizmy obsługi błędów i różne cechy wydajności.
Jeśli parametr "replaceInvalidSequences" to true
, metoda zastępuje wszystkie nieprawidłowo sformułowane podsekwencje w elemencie U+FFFD w source
destination
i kontynuuje przetwarzanie pozostałej części buforu. W przeciwnym razie metoda zwraca OperationStatus.InvalidData wartość , jeśli napotka jakiekolwiek źle sformułowane sekwencje.
Jeśli metoda zwraca kod błędu, parametry out wskazują, ile danych zostało pomyślnie transkodowanych, a lokalizację nieprawidłowej podsekwencjonowania można wywieść z tych wartości.
Jeśli parametr "replaceInvalidSequences" ma true
wartość , metoda nigdy nie zwraca wartości OperationStatus.InvalidData. Jeśli parametr "isFinalBlock" to true
, metoda nigdy nie zwraca wartości OperationStatus.NeedMoreData.