다음을 통해 공유


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>

읽기 전에 확인할 태그이거나, 기본 태그(유니버설 3)의 경우 null입니다.

반환

destination이 비트 문자열의 값을 받을 만큼 충분히 크면 true이고, 그렇지 않으면 false입니다.

예외

ruleSet이 정의되어 있지 않습니다.

다음 값에 올바른 태그가 없습니다.

또는

길이 인코딩은 현재 인코딩 규칙에서 유효하지 않습니다.

또는

콘텐츠는 현재 인코딩 규칙에 따라 유효하지 않습니다.

expectedTag.TagClassUniversal이지만 expectedTagTagValue 가 메서드에 대해 올바르지 않습니다.

또는

destination 가 과 겹칩니다 source.

설명

값에 의해 unusedBitCount "사용되지 않음"으로 보고되는 마지막 바이트에서 가장 중요한 비트는 인코딩된 표현의 값에 destination 관계없이 설정되지 않은 비트로 복사됩니다.

적용 대상