These values apply to class == .universal.
boolean = 1integer = 2bitstring = 3octetstring = 4null = 5oid = 6object_descriptor = 7real = 9enumerated = 10embedded = 11string_utf8 = 12oid_relative = 13time = 14sequence = 16sequence_of = 17Elements may appear in any order.
string_numeric = 18string_printable = 19string_teletex = 20string_videotex = 21string_ia5 = 22utc_time = 23generalized_time = 24string_graphic = 25string_visible = 26string_general = 27string_universal = 28string_char = 29string_bmp = 30date = 31time_of_day = 32date_time = 33duration = 34oid_iri = 35IRI = Internationalized Resource Identifier
oid_iri_relative = 36_pub const Number = enum(u16) {
// 0 is reserved by spec
boolean = 1,
integer = 2,
bitstring = 3,
octetstring = 4,
null = 5,
oid = 6,
object_descriptor = 7,
real = 9,
enumerated = 10,
embedded = 11,
string_utf8 = 12,
oid_relative = 13,
time = 14,
// 15 is reserved to mean that the tag is >= 32
sequence = 16,
/// Elements may appear in any order.
sequence_of = 17,
string_numeric = 18,
string_printable = 19,
string_teletex = 20,
string_videotex = 21,
string_ia5 = 22,
utc_time = 23,
generalized_time = 24,
string_graphic = 25,
string_visible = 26,
string_general = 27,
string_universal = 28,
string_char = 29,
string_bmp = 30,
date = 31,
time_of_day = 32,
date_time = 33,
duration = 34,
/// IRI = Internationalized Resource Identifier
oid_iri = 35,
oid_iri_relative = 36,
_,
}