pub(crate) fn decode(bytes: &[u8]) -> Option<Result<char, &[u8]>>Expand description
Decodes the next UTF-8 encoded codepoint from the given byte slice.
If no valid encoding of a codepoint exists at the beginning of the
given byte slice, then a 1-3 byte slice is returned (which is guaranteed
to be a prefix of bytes). That byte slice corresponds either to a single
invalid byte, or to a prefix of a valid UTF-8 encoding of a Unicode scalar
value (but which ultimately did not lead to a valid encoding).
This returns None if and only if bytes is empty.
This never panics.
WARNING: This is not designed for performance. If you’re looking for a fast UTF-8 decoder, this is not it. If you feel like you need one in this crate, then please file an issue and discuss your use case.