Udostępnij za pośrednictwem


AsnDecoder.TryReadCharacterString Metoda

Definicja

Odczytuje wartość ciągu znaków z source określonego tagu zgodnie z określonymi regułami kodowania, kopiując zdekodowany ciąg do dostarczonego buforu docelowego.

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>

Bufor zawierający zakodowane dane.

destination
Span<Char>

Bufor, w którym ma być zapisywany.

ruleSet
AsnEncodingRules

Ograniczenia kodowania używane podczas interpretowania danych.

encodingType
UniversalTagNumber

Jedna z wartości wyliczenia, która reprezentuje typ wartości do przetworzenia.

bytesConsumed
Int32

Gdy ta metoda zostanie zwrócona, całkowita liczba bajtów dla zakodowanej wartości. Ten parametr jest traktowany jako niezainicjowany.

charsWritten
Int32

Gdy ta metoda zwróci wartość , liczba znaków zapisanych w obiekcie destination. Ten parametr jest traktowany jako niezainicjowany.

expectedTag
Nullable<Asn1Tag>

Tag do sprawdzenia przed odczytaniem lub null dla tagu uniwersalnego, który jest odpowiedni dla żądanego typu kodowania.

Zwraca

true i rozwija czytelnika, jeśli destination ma wystarczającą długość, aby otrzymać wartość, w przeciwnym razie false czytnik nie przechodzi.

Wyjątki

ruleSet nie jest zdefiniowany.

-lub-

encodingType nie jest znanym typem ciągu znaków.

Następna wartość nie ma poprawnego tagu.

-lub-

Kodowanie długości jest nieprawidłowe w ramach bieżących reguł kodowania.

-lub-

Zawartość jest nieprawidłowa w ramach bieżących reguł kodowania.

-lub-

Ciąg nie został pomyślnie zdekodowany.

expectedTag.TagClass to Universal, ale expectedTag. nie jest taki sam jak encodingType.TagValue

Dotyczy