Struct pgn_reader::RawHeader
source · pub struct RawHeader<'a>(pub &'a [u8]);
Expand description
A header value.
Provides helper methods for decoding backslash escaped values.
A quote inside a string is represented by the backslash immediately followed by a quote. A backslash inside a string is represented by two adjacent backslashes.
Tuple Fields§
§0: &'a [u8]
Implementations§
source§impl<'a> RawHeader<'a>
impl<'a> RawHeader<'a>
sourcepub fn decode(&self) -> Cow<'a, [u8]>
pub fn decode(&self) -> Cow<'a, [u8]>
Decodes escaped quotes and backslashes into bytes. Allocates only when the value actually contains escape sequences.
Examples found in repository?
src/types.rs (line 185)
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
pub fn decode_utf8(&self) -> Result<Cow<'a, str>, Utf8Error> {
Ok(match self.decode() {
Cow::Borrowed(borrowed) => Cow::Borrowed(str::from_utf8(borrowed)?),
Cow::Owned(owned) => Cow::Owned(String::from_utf8(owned).map_err(|e| e.utf8_error())?),
})
}
/// Decodes the header as UTF-8, replacing any invalid byte sequences with
/// the placeholder � U+FFFD.
pub fn decode_utf8_lossy(&self) -> Cow<'a, str> {
match self.decode() {
Cow::Borrowed(borrowed) => String::from_utf8_lossy(borrowed),
Cow::Owned(owned) => Cow::Owned(String::from_utf8_lossy(&owned).into_owned()),
}
}
sourcepub fn decode_utf8(&self) -> Result<Cow<'a, str>, Utf8Error>
pub fn decode_utf8(&self) -> Result<Cow<'a, str>, Utf8Error>
Tries to decode the header as UTF-8. This is guaranteed to succeed on valid PGNs.
Errors
Errors if the header contains an invalid UTF-8 byte sequence.
sourcepub fn decode_utf8_lossy(&self) -> Cow<'a, str>
pub fn decode_utf8_lossy(&self) -> Cow<'a, str>
Decodes the header as UTF-8, replacing any invalid byte sequences with the placeholder � U+FFFD.