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 作为符合请求的编码类型的通用标记。

返回

如果 destination 有足够的长度来接收值,则为 true 并推进读取器,否则为 false,且读取器不会前进。

例外

未定义ruleSet

-或-

encodingType 不是一个已知的字符串类型。

下一个值没有正确的标记。

-或-

长度编码在当前编码规则下无效。

-或-

这些内容在当前编码规则下无效。

-或-

字符串未成功解码。

expectedTagTagClassUniversal,但 expectedTagTagValue 不同 encodingType

适用于