AsnDecoder.ReadBitString 方法

定义

在指定编码规则下,从带有指定标记的 source 中读取位字符串值,以返回新数组内容。

public static byte[] ReadBitString (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int unusedBitCount, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member ReadBitString : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> byte[]
Public Shared Function ReadBitString (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef unusedBitCount As Integer, ByRef bytesConsumed As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Byte()

参数

source
ReadOnlySpan<Byte>

包含编码数据的缓冲区。

ruleSet
AsnEncodingRules

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

unusedBitCount
Int32

成功时,将接收由编写器报告为“未使用”的最后一个字节中的位数。 该参数未经初始化即被处理。

bytesConsumed
Int32

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

expectedTag
Nullable<Asn1Tag>

读取前要检查的标记,或使用 null 作为默认标记(通用 3)。

返回

Byte[]

包含位字符串值内容的数组。

例外

未定义ruleSet

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

-或-

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

-或-

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

expectedTagTagClassUniversal,但 expectedTagTagValue 对于 方法,则不正确。

注解

最后一个字节中被值报告为“未使用” unusedBitCount 的最小有效位将作为未设置位复制到返回值中,而不考虑它们在编码表示形式中的值。

适用于