共用方式為


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 (Universal 3)。

傳回

如果 destination 大到足以接收位元字串的值,則為 true,否則為 false

例外狀況

未定義ruleSet

下一個值沒有正確的標記。

-或-

目前編碼規則下的長度編碼無效。

-或-

內容在目前的編碼規則下無效。

expectedTagTagClassUniversal,但 expectedTagTagValue 對方法而言不正確。

-或-

destinationsource疊 。

備註

最後一個字節中回報為「未使用 unusedBitCount 」的值最小有效位,將會以未設定位的形式複製到 destination 其中,不論其值在編碼表示法中為何。

適用於