Utf8.FromUtf16 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 zakres znaków UTF-16 na zakres bajtów zakodowany w formacie 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>
Zakres znaków tylko do odczytu zakodowany w formacie UTF-16.
- charsRead
- Int32
Gdy metoda zwróci wartość , liczba znaków odczytanych z source
metody .
- bytesWritten
- Int32
Gdy metoda zwróci wartość , liczba bajtów zapisanych w obiekcie destination
.
- replaceInvalidSequences
- Boolean
true
aby zastąpić nieprawidłowe sekwencje UTF-16 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.GetBytes , 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.