Struct openssl::asn1::Asn1StringRef
source · pub struct Asn1StringRef(_);
Expand description
A reference to an Asn1String
.
Implementations§
source§impl Asn1StringRef
impl Asn1StringRef
sourcepub fn as_utf8(&self) -> Result<OpensslString, ErrorStack>
pub fn as_utf8(&self) -> Result<OpensslString, ErrorStack>
Converts the ASN.1 underlying format to UTF8
ASN.1 strings may utilize UTF-16, ASCII, BMP, or UTF8. This is important to consume the string in a meaningful way without knowing the underlying format.
This corresponds to ASN1_STRING_to_UTF8
.
sourcepub fn as_slice(&self) -> &[u8] ⓘ
pub fn as_slice(&self) -> &[u8] ⓘ
Return the string as an array of bytes.
The bytes do not directly correspond to UTF-8 encoding. To interact with
strings in rust, it is preferable to use as_utf8
This corresponds to ASN1_STRING_get0_data
.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of bytes in the string.
This corresponds to ASN1_STRING_length
.
Examples found in repository?
src/asn1.rs (line 459)
458 459 460 461 462 463 464 465 466 467 468 469 470 471
pub fn as_slice(&self) -> &[u8] {
unsafe { slice::from_raw_parts(ASN1_STRING_get0_data(self.as_ptr()), self.len()) }
}
/// Returns the number of bytes in the string.
#[corresponds(ASN1_STRING_length)]
pub fn len(&self) -> usize {
unsafe { ffi::ASN1_STRING_length(self.as_ptr()) as usize }
}
/// Determines if the string is empty.
pub fn is_empty(&self) -> bool {
self.len() == 0
}
Trait Implementations§
source§impl AsRef<Asn1StringRef> for Asn1String
impl AsRef<Asn1StringRef> for Asn1String
source§fn as_ref(&self) -> &Asn1StringRef
fn as_ref(&self) -> &Asn1StringRef
Converts this type into a shared reference of the (usually inferred) input type.
source§impl Borrow<Asn1StringRef> for Asn1String
impl Borrow<Asn1StringRef> for Asn1String
source§fn borrow(&self) -> &Asn1StringRef
fn borrow(&self) -> &Asn1StringRef
Immutably borrows from an owned value. Read more