Struct bstr::FromUtf8Error [−][src]
pub struct FromUtf8Error { /* fields omitted */ }
An error that may occur when converting a Vec<u8>
to a String
.
This error includes the original Vec<u8>
that failed to convert to a
String
. This permits callers to recover the allocation used even if it
it not valid UTF-8.
Examples
Basic usage:
use bstr::{B, ByteVec}; let bytes = Vec::from_slice(b"foo\xFFbar"); let err = bytes.into_string().unwrap_err(); assert_eq!(err.utf8_error().valid_up_to(), 3); assert_eq!(err.utf8_error().error_len(), Some(1)); // At no point in this example is an allocation performed. let bytes = Vec::from(err.into_vec()); assert_eq!(bytes, B(b"foo\xFFbar"));
Implementations
impl FromUtf8Error
[src]
impl FromUtf8Error
[src]pub fn as_bytes(&self) -> &[u8]ⓘ
[src]
Return the original bytes as a slice that failed to convert to a
String
.
Examples
Basic usage:
use bstr::{B, ByteVec}; let bytes = Vec::from_slice(b"foo\xFFbar"); let err = bytes.into_string().unwrap_err(); // At no point in this example is an allocation performed. assert_eq!(err.as_bytes(), B(b"foo\xFFbar"));
pub fn into_vec(self) -> Vec<u8>ⓘ
[src]
Consume this error and return the original byte string that failed to
convert to a String
.
Examples
Basic usage:
use bstr::{B, ByteVec}; let bytes = Vec::from_slice(b"foo\xFFbar"); let err = bytes.into_string().unwrap_err(); let original = err.into_vec(); // At no point in this example is an allocation performed. assert_eq!(original, B(b"foo\xFFbar"));
pub fn utf8_error(&self) -> &Utf8Error
[src]
Return the underlying UTF-8 error that occurred. This error provides information on the nature and location of the invalid UTF-8 detected.
Examples
Basic usage:
use bstr::{B, ByteVec}; let bytes = Vec::from_slice(b"foo\xFFbar"); let err = bytes.into_string().unwrap_err(); assert_eq!(err.utf8_error().valid_up_to(), 3); assert_eq!(err.utf8_error().error_len(), Some(1));
Trait Implementations
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]fn eq(&self, other: &FromUtf8Error) -> bool
[src]
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 FromUtf8Error
impl Send for FromUtf8Error
impl Send for FromUtf8Error
impl Sync for FromUtf8Error
impl Sync for FromUtf8Error
impl Unpin for FromUtf8Error
impl Unpin for FromUtf8Error
impl UnwindSafe for FromUtf8Error
impl UnwindSafe for FromUtf8Error