pub struct UniversalString(/* private fields */);展开描述
ASN.1 UniversalString 类型。
§示例
你可以使用 UniversalString::try_from 从 字面量字符串 创建 UniversalString:
use rcgen::string::UniversalString;
let hello = UniversalString::try_from("hello").unwrap();§支持的字符
UniversalString 类型可出现的字符是 ISO/IEC 10646(Unicode)所允许的任何字符。
字节以 UTF-32 大端序编码。
包含 UniversalString 是为了向后兼容;RFC 5280 规定它不应被用于新证书的主体。
实现§
Source§impl UniversalString
impl UniversalString
Sourcepub fn as_bytes(&self) -> &[u8] ⓘ
pub fn as_bytes(&self) -> &[u8] ⓘ
返回该 UniversalString 内容对应的字节切片。
该方法的逆操作是 from_utf32be。
§示例
use rcgen::string::UniversalString;
let s = UniversalString::try_from("hello").unwrap();
assert_eq!(&[0, 0, 0, 104, 0, 0, 0, 101, 0, 0, 0, 108, 0, 0, 0, 108, 0, 0, 0, 111], s.as_bytes());Sourcepub fn from_utf32be(vec: Vec<u8>) -> Result<UniversalString, Error>
pub fn from_utf32be(vec: Vec<u8>) -> Result<UniversalString, Error>
将一个 UTF-32BE 编码的向量 vec 解码为 UniversalString,若 vec 中含有任何非法数据则返回 Err。
Trait 实现§
Source§impl Clone for UniversalString
impl Clone for UniversalString
Source§fn clone(&self) -> UniversalString
fn clone(&self) -> UniversalString
返回值的副本。 更多信息
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. 更多信息Source§impl Debug for UniversalString
impl Debug for UniversalString
Source§impl Hash for UniversalString
impl Hash for UniversalString
Source§impl PartialEq for UniversalString
impl PartialEq for UniversalString
Source§impl TryFrom<&str> for UniversalString
impl TryFrom<&str> for UniversalString
Source§fn try_from(value: &str) -> Result<Self, Self::Error>
fn try_from(value: &str) -> Result<Self, Self::Error>
将一个 &str 转换为 UniversalString。
任何不属于 UniversalString 字符集的字符都将被拒绝。
更多信息请参见 UniversalString 文档。
结果分配在堆上。
Source§impl TryFrom<String> for UniversalString
impl TryFrom<String> for UniversalString
Source§fn try_from(value: String) -> Result<Self, Self::Error>
fn try_from(value: String) -> Result<Self, Self::Error>
将一个 String 转换为 UniversalString
任何不属于 UniversalString 字符集的字符都将被拒绝。
更多信息请参见 UniversalString 文档。
解析 UniversalString 会分配内存,因为 UTF-8 到 UTF-32 的转换需要一次内存分配。
impl Eq for UniversalString
impl StructuralPartialEq for UniversalString
自动 Trait 实现§
impl Freeze for UniversalString
impl RefUnwindSafe for UniversalString
impl Send for UniversalString
impl Sync for UniversalString
impl Unpin for UniversalString
impl UnsafeUnpin for UniversalString
impl UnwindSafe for UniversalString
Blanket 实现§
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. 更多信息