Поделиться через


AsnDecoder.TryReadCharacterString Метод

Определение

Считывает символьное строковое значение из с source указанным тегом в соответствии с заданными правилами кодирования, копируя декодированную строку в предоставленный буфер назначения.

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

Параметры

source
ReadOnlySpan<Byte>

Буфер, содержащий закодированные данные.

destination
Span<Char>

Буфер, в который должна выполняться запись.

ruleSet
AsnEncodingRules

Ограничения кодирования, используемые при интерпретации данных.

encodingType
UniversalTagNumber

Одно из значений перечисления, которое представляет тип значения для обработки.

bytesConsumed
Int32

При возврате из этого метода — общее количество байтов для закодированного значения. Этот параметр обрабатывается как неинициализированный.

charsWritten
Int32

При возврате из этого метода — число символов, записанных в destination. Этот параметр обрабатывается как неинициализированный.

expectedTag
Nullable<Asn1Tag>

Тег для проверки перед чтением или null для универсального тега, соответствующего запрошенному типу кодирования.

Возвращаемое значение

Возвращает значение true и перемещает позицию чтения модуля чтения, если длина destination была достаточной для получения значения, в противном случае возвращает значение false, а позиция чтения модуля чтения не перемещается.

Исключения

ruleSet не определен.

-или-

encodingType не является известным типом строки символов.

У следующего значения нет правильного тега.

-или-

Кодировка длины недопустима в соответствии с текущими правилами кодирования.

-или-

Содержимое недопустимо в соответствии с текущими правилами кодирования.

-или-

Не удалось декодировать строку.

expectedTag.TagClass имеет значение Universal, но expectedTag.TagValue — это не то же самое, что encodingType.

Применяется к