Struct bstr::FromUtf8Error [−][src]
pub struct FromUtf8Error { /* fields omitted */ }
Expand description
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
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"));
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"));
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
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.