AsnDecoder.TryReadBitString 方法

定义

在指定编码规则下,尝试从带有指定标记的 source 中将位字符串值复制到 destination

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

参数

source
ReadOnlySpan<Byte>

包含编码数据的缓冲区。

destination
Span<Byte>

要写入的缓冲区。

ruleSet
AsnEncodingRules

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

unusedBitCount
Int32

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

bytesConsumed
Int32

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

bytesWritten
Int32

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

expectedTag
Nullable<Asn1Tag>

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

返回

如果 destination 足以接收位字符串的值,则为 true;否则为 false

例外

未定义ruleSet

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

-或-

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

-或-

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

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

-或-

destinationsource重叠。

注解

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

适用于