| [ Web Proxy ] |
| Viewing: https://doc.rust-lang.org/std/string/struct.FromUtf8Error.html#method.into_bytes | [Back] [Original] |
pub struct FromUtf8Error { /* private fields */ }Expand descriptionA 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, its
an analogue to FromUtf8Error, and you can get one from a FromUtf8Error
through the utf8_error method.
Returns a slice of u8s bytes that were attempted to convert to a String.
string_from_utf8_lossy_owned #129436)Converts the bytes into a String lossily, substituting invalid UTF-8
sequences with replacement characters.
See String::from_utf8_lossy for more details on replacement of
invalid sequences, and String::from_utf8_lossy_owned for the
String function which corresponds to this function.
This is useful in conjunction with String::from_utf8 when you need
to branch on whether the bytes are valid UTF-8, but still want to
recover a lossily converted String in the error case. Use
String::from_utf8_lossy_owned if you always need a lossily converted
String.
Since the original String::from_utf8 error records where validation
stopped, this method does not need to re-check the already valid prefix
of the byte sequence.
#![feature(string_from_utf8_lossy_owned)]
// some invalid bytes
let input: Vec<u8> = b"Hello \xF0\x90\x80World".into();
let (output, had_invalid_utf8) = match String::from_utf8(input) {
Ok(output) => (output, false),
Err(error) => {
// The bytes were not valid UTF-8, but we can still recover a string.
(error.into_utf8_lossy(), true)
}
};
assert_eq!(String::from("Hello World"), output);
assert!(had_invalid_utf8);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.
source. Read moreuse the Display impl or to_string()
replaced by Error::source, which can support downcasting
error_generic_member_access #99301)self and other values to be equal, and is used by ==.!=. The default implementation is almost always sufficient,
and should not be overridden without very good reason.clone_to_uninit #126799)Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
| Web Proxy Viewer | New URL | Original Page |