Struct core::str::Utf8Error1.0.0 [] [src]

pub struct Utf8Error { /* fields omitted */ }

Errors which can occur when attempting to interpret a sequence of u8 as a string.

As such, the from_utf8 family of functions and methods for both Strings and &strs make use of this error, for example.


impl Utf8Error


Returns the index in the given string up to which valid UTF-8 was verified.

It is the maximum index such that from_utf8(&input[..index]) would return Ok(_).


Basic usage:

use std::str;

// some invalid bytes, in a vector
let sparkle_heart = vec![0, 159, 146, 150];

// std::str::from_utf8 returns a Utf8Error
let error = str::from_utf8(&sparkle_heart).unwrap_err();

// the second byte is invalid here
assert_eq!(1, error.valid_up_to());Run


Provide more information about the failure:

  • None: the end of the input was reached unexpectedly. self.valid_up_to() is 1 to 3 bytes from the end of the input. If a byte stream (such as a file or a network socket) is being decoded incrementally, this could be a valid char whose UTF-8 byte sequence is spanning multiple chunks.

  • Some(len): an unexpected byte was encountered. The length provided is that of the invalid byte sequence that starts at the index given by valid_up_to(). Decoding should resume after that sequence (after inserting a U+FFFD REPLACEMENT CHARACTER) in case of lossy decoding.

Trait Implementations

impl Copy for Utf8Error

impl Eq for Utf8Error

impl PartialEq for Utf8Error


This method tests for self and other values to be equal, and is used by ==. Read more


This method tests for !=.

impl Clone for Utf8Error


Returns a copy of the value. Read more


Performs copy-assignment from source. Read more

impl Debug for Utf8Error


Formats the value using the given formatter.

impl Display for Utf8Error


Formats the value using the given formatter. Read more