Enum asn1rs_model::model::Charset
source · pub enum Charset {
Utf8,
Numeric,
Printable,
Ia5,
Visible,
}
Variants§
Utf8
Numeric
ITU-T X.680 | ISO/IEC 8824-1, 43.3
Printable
ITU-T X.680 | ISO/IEC 8824-1, 43.3
Ia5
Encoding as in ISO/IEC 646 (??)
Visible
ITU-T X.680 | ISO/IEC 8824-1, 43.3 (Also ISO646String)
Implementations§
source§impl Charset
impl Charset
sourcepub const NUMERIC_STRING_CHARACTERS: &'static str = " 0123456789"
pub const NUMERIC_STRING_CHARACTERS: &'static str = " 0123456789"
Sorted according to ITU-T X.680, 43.5
use asn1rs_model::model::Charset;
assert!(Charset::NUMERIC_STRING_CHARACTERS.chars().all(|c| Charset::Numeric.is_valid(c)));
assert!(Charset::NUMERIC_STRING_CHARACTERS.chars().all(|c| Charset::Utf8.is_valid(c)));
assert!(Charset::NUMERIC_STRING_CHARACTERS.chars().all(|c| Charset::Printable.is_valid(c)));
assert!(Charset::NUMERIC_STRING_CHARACTERS.chars().all(|c| Charset::Ia5.is_valid(c)));
assert!(Charset::NUMERIC_STRING_CHARACTERS.chars().all(|c| Charset::Visible.is_valid(c)));
assert_eq!(11, Charset::NUMERIC_STRING_CHARACTERS.chars().count());
sourcepub const PRINTABLE_STRING_CHARACTERS: &'static str = " '()+,-./0123456789:=?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
pub const PRINTABLE_STRING_CHARACTERS: &'static str = " '()+,-./0123456789:=?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
Sorted according to ITU-T X.680, 43.6
use asn1rs_model::model::Charset;
assert!(Charset::PRINTABLE_STRING_CHARACTERS.chars().all(|c| Charset::Printable.is_valid(c)));
assert!(Charset::PRINTABLE_STRING_CHARACTERS.chars().all(|c| Charset::Utf8.is_valid(c)));
assert!(Charset::PRINTABLE_STRING_CHARACTERS.chars().all(|c| Charset::Ia5.is_valid(c)));
assert!(Charset::PRINTABLE_STRING_CHARACTERS.chars().all(|c| Charset::Visible.is_valid(c)));
assert_eq!(74, Charset::PRINTABLE_STRING_CHARACTERS.chars().count());
sourcepub const IA5_STRING_CHARACTERS: &'static str = "\u{00}\u{01}\u{02}\u{03}\u{04}\u{05}\u{06}\u{07}\u{08}\u{09}\u{0A}\u{0B}\u{0C}\u{0D}\u{0E}\u{0F}\u{10}\u{11}\u{12}\u{13}\u{14}\u{15}\u{16}\u{17}\u{18}\u{19}\u{1A}\u{1B}\u{1C}\u{1D}\u{1E}\u{1F} !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u{7F}"
pub const IA5_STRING_CHARACTERS: &'static str = "\u{00}\u{01}\u{02}\u{03}\u{04}\u{05}\u{06}\u{07}\u{08}\u{09}\u{0A}\u{0B}\u{0C}\u{0D}\u{0E}\u{0F}\u{10}\u{11}\u{12}\u{13}\u{14}\u{15}\u{16}\u{17}\u{18}\u{19}\u{1A}\u{1B}\u{1C}\u{1D}\u{1E}\u{1F} !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u{7F}"
Sorted according to ITU-T X.680, 43.8
use asn1rs_model::model::Charset;
assert!(Charset::IA5_STRING_CHARACTERS.chars().all(|c| Charset::Ia5.is_valid(c)));
assert!(Charset::IA5_STRING_CHARACTERS.chars().all(|c| Charset::Utf8.is_valid(c)));
assert_eq!(128, Charset::IA5_STRING_CHARACTERS.chars().count());
sourcepub const VISIBLE_STRING_CHARACTERS: &'static str = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
pub const VISIBLE_STRING_CHARACTERS: &'static str = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
Sorted according to ITU-T X.680, 43.7
use asn1rs_model::model::Charset;
assert!(Charset::VISIBLE_STRING_CHARACTERS.chars().all(|c| Charset::Visible.is_valid(c)));
assert!(Charset::VISIBLE_STRING_CHARACTERS.chars().all(|c| Charset::Ia5.is_valid(c)));
assert!(Charset::VISIBLE_STRING_CHARACTERS.chars().all(|c| Charset::Utf8.is_valid(c)));
assert_eq!(95, Charset::VISIBLE_STRING_CHARACTERS.chars().count());
pub fn default_tag(self) -> Tag
pub fn find_invalid(self, str: &str) -> Option<(usize, char)>
pub const fn is_valid(self, char: char) -> bool
Trait Implementations§
source§impl PartialEq<Charset> for Charset
impl PartialEq<Charset> for Charset
source§impl PartialOrd<Charset> for Charset
impl PartialOrd<Charset> for Charset
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Charset
impl Eq for Charset
impl StructuralEq for Charset
impl StructuralPartialEq for Charset
Auto Trait Implementations§
impl RefUnwindSafe for Charset
impl Send for Charset
impl Sync for Charset
impl Unpin for Charset
impl UnwindSafe for Charset
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.