pub struct TagNumber(/* private fields */);
Expand description
ASN.1 tag numbers (i.e. lower 5 bits of a Tag
).
From X.690 Section 8.1.2.2:
bits 5 to 1 shall encode the number of the tag as a binary integer with bit 5 as the most significant bit.
This library supports tag numbers ranging from zero to 30 (inclusive), which can be represented as a single identifier octet.
Section 8.1.2.4 describes how to support multi-byte tag numbers, which are
encoded by using a leading tag number of 31 (0b11111
). This library
deliberately does not support this: tag numbers greater than 30 are
disallowed.
Implementations§
Source§impl TagNumber
impl TagNumber
Sourcepub const fn new(byte: u8) -> Self
pub const fn new(byte: u8) -> Self
Create a new tag number (const-friendly).
Panics if the tag number is greater than 30
.
For a fallible conversion, use TryFrom
instead.
Sourcepub fn application(self, constructed: bool) -> Tag
pub fn application(self, constructed: bool) -> Tag
Create an APPLICATION
tag with this tag number.
Sourcepub fn context_specific(self, constructed: bool) -> Tag
pub fn context_specific(self, constructed: bool) -> Tag
Create a CONTEXT-SPECIFIC
tag with this tag number.