pub struct PercentDecodedWhatwgBytes<'a> { /* private fields */ }Expand description
A percent-decoded string based on percent-decode algorithm of the WHATWG URL standard.
Note that this type does not guarantee that the string is valid percent-encoded string. The raw string may have stray percent character or the following digits may be invalid as hexadecimal digits.
Note that comparisons and hashing via std traits (such as Eq and Hash)
will use the raw value, not the content after decoding.
Implementations§
Source§impl<'a> PercentDecodedWhatwgBytes<'a>
impl<'a> PercentDecodedWhatwgBytes<'a>
Sourcepub fn not_yet_decoded(&self) -> &'a [u8] ⓘ
pub fn not_yet_decoded(&self) -> &'a [u8] ⓘ
Returns the not-yet-decoded input bytes.
§Examples
use iri_string::percent_encode::decode::decode_whatwg_bytes;
let decoded = decode_whatwg_bytes(b"hello%20world");
assert_eq!(decoded.not_yet_decoded(), &b"hello%20world"[..]);Sourcepub fn to_bytes(&self) -> Option<&'a [u8]>
pub fn to_bytes(&self) -> Option<&'a [u8]>
Returns the decoded bytes as a slice if no memory allocation is needed.
§Examples
use iri_string::percent_encode::decode::decode_whatwg_bytes;
let no_alloc = decode_whatwg_bytes(b"99% unsafe");
assert_eq!(no_alloc.to_bytes(), Some(&b"99% unsafe"[..]));
let alloc_needed = decode_whatwg_bytes(b"hello%20world");
assert_eq!(alloc_needed.to_bytes(), None);Sourcepub fn into_bytes(&self) -> Cow<'a, [u8]>
Available on crate feature alloc only.
pub fn into_bytes(&self) -> Cow<'a, [u8]>
alloc only.Decodes the bytes, based on percent-decode algorithm of the WHATWG URL standard.
§Examples
use iri_string::percent_encode::decode::decode_whatwg_bytes;
let decoded = decode_whatwg_bytes(b"hello%20world");
assert_eq!(decoded.into_bytes(), &b"hello world"[..]);Sourcepub fn into_string(&self) -> Result<String, FromUtf8Error>
Available on crate feature alloc only.
pub fn into_string(&self) -> Result<String, FromUtf8Error>
alloc only.Decodes the bytes into a string, based on percent-decode algorithm
of the WHATWG URL standard.
§Examples
use iri_string::percent_encode::decode::decode_whatwg_bytes;
let decoded = decode_whatwg_bytes(b"hello%20world");
assert_eq!(
decoded.into_string(),
Ok("hello world".to_owned())
);Sourcepub fn bytes_fragments(&self) -> PercentDecodedBytesFragments<'a> ⓘ
pub fn bytes_fragments(&self) -> PercentDecodedBytesFragments<'a> ⓘ
Returns an iterator of decoded fragments.
§Examples
use iri_string::percent_encode::decode::{
decode_whatwg_bytes, DecodedFragment,
};
let mut i = decode_whatwg_bytes(b"100% hello%20world")
.bytes_fragments();
assert_eq!(i.next(), Some(DecodedFragment::Direct(b"100")));
assert_eq!(i.next(), Some(DecodedFragment::StrayPercent));
assert_eq!(i.next(), Some(DecodedFragment::Direct(b" hello")));
assert_eq!(i.next(), Some(DecodedFragment::DecodedByte(b' ')));
assert_eq!(i.next(), Some(DecodedFragment::Direct(b"world")));
assert_eq!(i.next(), None);Trait Implementations§
Source§impl<'a> Clone for PercentDecodedWhatwgBytes<'a>
impl<'a> Clone for PercentDecodedWhatwgBytes<'a>
Source§fn clone(&self) -> PercentDecodedWhatwgBytes<'a>
fn clone(&self) -> PercentDecodedWhatwgBytes<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PercentDecodedWhatwgBytes<'_>
impl Debug for PercentDecodedWhatwgBytes<'_>
Source§impl<'a> Hash for PercentDecodedWhatwgBytes<'a>
impl<'a> Hash for PercentDecodedWhatwgBytes<'a>
Source§impl<'a> Ord for PercentDecodedWhatwgBytes<'a>
impl<'a> Ord for PercentDecodedWhatwgBytes<'a>
Source§fn cmp(&self, other: &PercentDecodedWhatwgBytes<'a>) -> Ordering
fn cmp(&self, other: &PercentDecodedWhatwgBytes<'a>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<'a> PartialEq for PercentDecodedWhatwgBytes<'a>
impl<'a> PartialEq for PercentDecodedWhatwgBytes<'a>
Source§fn eq(&self, other: &PercentDecodedWhatwgBytes<'a>) -> bool
fn eq(&self, other: &PercentDecodedWhatwgBytes<'a>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<'a> PartialOrd for PercentDecodedWhatwgBytes<'a>
impl<'a> PartialOrd for PercentDecodedWhatwgBytes<'a>
impl<'a> Copy for PercentDecodedWhatwgBytes<'a>
impl<'a> Eq for PercentDecodedWhatwgBytes<'a>
impl<'a> StructuralPartialEq for PercentDecodedWhatwgBytes<'a>
Auto Trait Implementations§
impl<'a> Freeze for PercentDecodedWhatwgBytes<'a>
impl<'a> RefUnwindSafe for PercentDecodedWhatwgBytes<'a>
impl<'a> Send for PercentDecodedWhatwgBytes<'a>
impl<'a> Sync for PercentDecodedWhatwgBytes<'a>
impl<'a> Unpin for PercentDecodedWhatwgBytes<'a>
impl<'a> UnsafeUnpin for PercentDecodedWhatwgBytes<'a>
impl<'a> UnwindSafe for PercentDecodedWhatwgBytes<'a>
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