AsnDecoder.ReadEncodedValue 方法

定义

使用指定的编码规则在 source 缓冲区的开头查找编码值的内容范围。

public:
 static System::Formats::Asn1::Asn1Tag ReadEncodedValue(ReadOnlySpan<System::Byte> source, System::Formats::Asn1::AsnEncodingRules ruleSet, [Runtime::InteropServices::Out] int % contentOffset, [Runtime::InteropServices::Out] int % contentLength, [Runtime::InteropServices::Out] int % bytesConsumed);
public static System.Formats.Asn1.Asn1Tag ReadEncodedValue (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int contentOffset, out int contentLength, out int bytesConsumed);
static member ReadEncodedValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * int -> System.Formats.Asn1.Asn1Tag
Public Shared Function ReadEncodedValue (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef contentOffset As Integer, ByRef contentLength As Integer, ByRef bytesConsumed As Integer) As Asn1Tag

参数

source
ReadOnlySpan<Byte>

包含编码数据的缓冲区。

ruleSet
AsnEncodingRules

解释数据时要使用的编码约束。

contentOffset
Int32

此方法返回时,为内容有效负载相对于 source 起始位置的偏移量。 该参数未经初始化即被处理。

contentLength
Int32

此方法返回时,为内容有效负载中的字节数(可能为 0)。 该参数未经初始化即被处理。

bytesConsumed
Int32

此方法返回时,为编码值的字节总数。 该参数未经初始化即被处理。

返回

标识内容的标记。

例外

未定义 ruleSet

source 不表示在指定编码规则下编码的值。

注解

此方法很少对内容执行验证。 如果编码值使用一定长度,则根本不检查内容。 如果编码值使用无限长,则仅在必要时检查内容以确定相关内容结尾标记的位置。

当编码值使用无限期长度时,bytesConsumed该值将大于 和 的总和contentOffsetcontentLength,以考虑内容结束标记。

适用于