Utf8.ToUtf16 Metod

Definition

Konverterar ett UTF-8-kodat skrivskyddat byteintervall till ett UTF-16-kodat teckenintervall.

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

Parametrar

source
ReadOnlySpan<Byte>

Ett UTF-8-kodat skrivskyddat byteintervall.

destination
Span<Char>

Ett UTF-16-kodat teckenintervall.

bytesRead
Int32

När metoden returnerar läse antalet byte från source.

charsWritten
Int32

När metoden returnerar, antalet tecken som skrivits till destination.

replaceInvalidSequences
Boolean

true för att ersätta ogiltiga UTF-8-sekvenser i source med U+FFFD; false för att returnera InvalidData om ogiltiga tecken hittas i source.

isFinalBlock
Boolean

trueom metoden inte ska returnera NeedMoreData; annars . false

Returer

Ett värde som anger status för konverteringen.

Kommentarer

Den här metoden motsvarar metoden UTF8Encoding.GetChars , förutom att den har en annan anropskonvention, olika mekanismer för felhantering och olika prestandaegenskaper.

Om "replaceInvalidSequences" är trueersätter metoden eventuella illa formade underfrågor i med U+FFFD i sourcedestination och fortsätter att bearbeta resten av bufferten. I annat fall returnerar OperationStatus.InvalidData metoden om den stöter på felformade sekvenser.

Om metoden returnerar en felkod anger utparametrarna hur mycket av data som har omkodades och platsen för den illa formade underfrågan kan härledas från dessa värden.

Om "replaceInvalidSequences" är truereturnerar OperationStatus.InvalidDatametoden aldrig . Om "isFinalBlock" är truereturnerar OperationStatus.NeedMoreDatametoden aldrig .

Gäller för