Struct rmpv::Utf8String
source · pub struct Utf8String { /* private fields */ }
Expand description
Represents an UTF-8 MessagePack string type.
According to the MessagePack spec, string objects may contain invalid byte sequence and the behavior of a deserializer depends on the actual implementation when it received invalid byte sequence. Deserializers should provide functionality to get the original byte array so that applications can decide how to handle the object.
Summarizing, it’s prohibited to instantiate a string type with invalid UTF-8 sequences, however
it is possible to obtain an underlying bytes that were attempted to convert to a String
. This
may happen when trying to unpack strings that were decoded using older MessagePack spec with
raw types instead of string/binary.
Implementations§
source§impl Utf8String
impl Utf8String
sourcepub fn as_str(&self) -> Option<&str>
pub fn as_str(&self) -> Option<&str>
Returns the string reference if the string is valid UTF-8, or else None
.
sourcepub fn as_err(&self) -> Option<&Utf8Error>
pub fn as_err(&self) -> Option<&Utf8Error>
Returns the underlying Utf8Error
if the string contains invalud UTF-8 sequence, or
else None
.
sourcepub fn into_str(self) -> Option<String>
pub fn into_str(self) -> Option<String>
Consumes this object, yielding the string if the string is valid UTF-8, or else None
.
sourcepub fn into_bytes(self) -> Vec<u8>
pub fn into_bytes(self) -> Vec<u8>
Converts a Utf8String
into a byte vector.
pub fn as_ref(&self) -> Utf8StringRef<'_>
Trait Implementations§
source§impl Clone for Utf8String
impl Clone for Utf8String
source§fn clone(&self) -> Utf8String
fn clone(&self) -> Utf8String
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Utf8String
impl Debug for Utf8String
source§impl Display for Utf8String
impl Display for Utf8String
source§impl<'a> From<&'a str> for Utf8String
impl<'a> From<&'a str> for Utf8String
source§impl<'a> From<String> for Utf8String
impl<'a> From<String> for Utf8String
source§impl<'a> From<Utf8StringRef<'a>> for Utf8String
impl<'a> From<Utf8StringRef<'a>> for Utf8String
source§fn from(val: Utf8StringRef<'a>) -> Self
fn from(val: Utf8StringRef<'a>) -> Self
source§impl PartialEq for Utf8String
impl PartialEq for Utf8String
source§fn eq(&self, other: &Utf8String) -> bool
fn eq(&self, other: &Utf8String) -> bool
self
and other
values to be equal, and is used
by ==
.