Struct std::string::FromUtf8Error 1.0.0[−][src]
pub struct FromUtf8Error { /* fields omitted */ }A possible error value when converting a String from a UTF-8 byte vector.
This type is the error type for the from_utf8 method on String. It
is designed in such a way to carefully avoid reallocations: the
into_bytes method will give back the byte vector that was used in the
conversion attempt.
The Utf8Error type provided by std::str represents an error that may
occur when converting a slice of u8s to a &str. In this sense, it’s
an analogue to FromUtf8Error, and you can get one from a FromUtf8Error
through the utf8_error method.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let value = String::from_utf8(bytes); assert!(value.is_err()); assert_eq!(vec![0, 159], value.unwrap_err().into_bytes());Run
Implementations
impl FromUtf8Error[src]
impl FromUtf8Error[src]pub fn as_bytes(&self) -> &[u8]ⓘ1.26.0[src]
Returns a slice of u8s bytes that were attempted to convert to a String.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let value = String::from_utf8(bytes); assert_eq!(&[0, 159], value.unwrap_err().as_bytes());Run
pub fn into_bytes(self) -> Vec<u8, Global>ⓘ[src]
Returns the bytes that were attempted to convert to a String.
This method is carefully constructed to avoid allocation. It will consume the error, moving out the bytes, so that a copy of the bytes does not need to be made.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let value = String::from_utf8(bytes); assert_eq!(vec![0, 159], value.unwrap_err().into_bytes());Run
pub fn utf8_error(&self) -> Utf8Error[src]
Fetch a Utf8Error to get more details about the conversion failure.
The Utf8Error type provided by std::str represents an error that may
occur when converting a slice of u8s to a &str. In this sense, it’s
an analogue to FromUtf8Error. See its documentation for more details
on using it.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let error = String::from_utf8(bytes).unwrap_err().utf8_error(); // the first byte is invalid here assert_eq!(1, error.valid_up_to());Run
Trait Implementations
impl Clone for FromUtf8Error[src]
impl Clone for FromUtf8Error[src]pub fn clone(&self) -> FromUtf8Error[src]
pub fn clone_from(&mut self, source: &Self)[src]
impl Display for FromUtf8Error[src]
impl Display for FromUtf8Error[src]impl Eq for FromUtf8Error[src]
impl Eq for FromUtf8Error[src]impl Error for FromUtf8Error[src]
impl Error for FromUtf8Error[src]impl PartialEq<FromUtf8Error> for FromUtf8Error[src]
impl PartialEq<FromUtf8Error> for FromUtf8Error[src]pub fn eq(&self, other: &FromUtf8Error) -> bool[src]
pub fn ne(&self, other: &FromUtf8Error) -> bool[src]
impl StructuralEq for FromUtf8Error[src]
impl StructuralEq for FromUtf8Error[src]impl StructuralPartialEq for FromUtf8Error[src]
impl StructuralPartialEq for FromUtf8Error[src]Auto Trait Implementations
impl RefUnwindSafe for FromUtf8Error
impl RefUnwindSafe for FromUtf8Errorimpl Send for FromUtf8Error
impl Send for FromUtf8Errorimpl Sync for FromUtf8Error
impl Sync for FromUtf8Errorimpl Unpin for FromUtf8Error
impl Unpin for FromUtf8Errorimpl UnwindSafe for FromUtf8Error
impl UnwindSafe for FromUtf8ErrorBlanket Implementations
impl<T> Borrow<T> for T where
T: ?Sized, [src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]pub fn borrow(&self) -> &TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W[src]
Notable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut Wimpl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W[src]
Notable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W