Język

AsnDecoder.TryReadCharacterString Metoda

Definicja

Odczytuje wartość ciągu znaku z source z określonym tagiem w określonych regułach kodowania, kopiując zdekodowany ciąg do podanego 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 zwróci, łączna 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 przechodzi czytelnika, jeśli destination ma wystarczającą długość, aby otrzymać wartość, w przeciwnym razie false czytelnik 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ść nie jest prawidłowa zgodnie z bieżącymi regułami kodowania.

— lub —

Ciąg nie został pomyślnie zdekodowany.

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

Dotyczy

Zobacz też