Sdílet prostřednictvím


AsnDecoder.TryReadCharacterString Metoda

Definice

Přečte hodnotu řetězce znaků z se source zadanou značkou podle zadaných pravidel kódování a zkopíruje dekódovaný řetězec do zadané cílové vyrovnávací paměti.

public static bool TryReadCharacterString (ReadOnlySpan<byte> source, Span<char> destination, System.Formats.Asn1.AsnEncodingRules ruleSet, System.Formats.Asn1.UniversalTagNumber encodingType, out int bytesConsumed, out int charsWritten, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadCharacterString : ReadOnlySpan<byte> * Span<char> * System.Formats.Asn1.AsnEncodingRules * System.Formats.Asn1.UniversalTagNumber * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadCharacterString (source As ReadOnlySpan(Of Byte), destination As Span(Of Char), ruleSet As AsnEncodingRules, encodingType As UniversalTagNumber, ByRef bytesConsumed As Integer, ByRef charsWritten As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Boolean

Parametry

source
ReadOnlySpan<Byte>

Vyrovnávací paměť obsahující kódovaná data.

destination
Span<Char>

Vyrovnávací paměť, do které se má zapisovat.

ruleSet
AsnEncodingRules

Omezení kódování, která se mají použít při interpretaci dat.

encodingType
UniversalTagNumber

Jedna z hodnot výčtu, která představuje typ hodnoty ke zpracování.

bytesConsumed
Int32

Když tato metoda vrátí celkový počet bajtů kódované hodnoty. Tento parametr je považován za neinicializovaný.

charsWritten
Int32

Když tato metoda vrátí počet znaků zapsaných do destination. Tento parametr je považován za neinicializovaný.

expectedTag
Nullable<Asn1Tag>

Značka, která se má zkontrolovat před čtením, nebo null univerzální značku, která je vhodná pro požadovaný typ kódování.

Návraty

true a posoudí čtenáře, pokud destination měl dostatečnou délku k získání hodnoty, jinak false čtenář nepokruje.

Výjimky

ruleSet není definováno.

-nebo-

encodingType není známý typ znakového řetězce.

Další hodnota nemá správnou značku.

-nebo-

Kódování délky není platné podle aktuálních pravidel kódování.

-nebo-

Obsah není platný podle aktuálních pravidel kódování.

-nebo-

Řetězec se nepodařilo úspěšně dekódovat.

expectedTag.TagClass je Universal, ale expectedTag.TagValue není totéž jako encodingType.

Platí pro