Crate encode_unicode

Source
Expand description

Miscellaneous UTF-8 and UTF-16 types and methods.

§Optional features:

  • #![no_std]-mode: There are a few differences:

    • Error doesn’t exist, but description() is made available as an inherent impl.
    • Extend/FromIterator-implementations for String/Vec<u8>/Vec<u16> are missing.
    • There is no io, so Utf8Iterator and Utf8CharSplitter doesn’t implement Read.

    This feature is enabled by setting default-features=false in Cargo.toml: encode_unicode = {version="0.3.4", default-features=false}

  • Integration with the ascii crate:
    Convert Utf8Char and Utf16Char to and from ascii::AsciiChar.

The minimum supported version of Rust is 1.15, older versions might work now but can break with a minor update.

crates.io page
github repository

Modules§

error
Errors returned by various conversion methods in this crate.
iterator
Iterator types that you should rarely need to name

Structs§

Utf8Char
An unicode codepoint stored as UTF-8.
Utf8Iterator
Read or iterate over the bytes of the UTF-8 representation of a codepoint.
Utf16Char
An unicode codepoint stored as UTF-16.
Utf16Iterator
Iterate over the units of the UTF-16 representation of a codepoint.

Traits§

CharExt
Extension trait for char that adds methods for converting to and from UTF-8 or UTF-16.
IterExt
Iterator methods that convert between u8s and Utf8Char or u16s and Utf16Char
SliceExt
Methods for iterating over u8 and u16 slices as UTF-8 or UTF-16 characters.
StrExt
Adds .utf8chars() and .utf16chars() iterator constructors to &str.
U8UtfExt
Methods for working with u8s as UTF-8 bytes.
U16UtfExt
Methods for working with u16s as UTF-16 units.

Functions§

iter_bytes
Converts an iterator of Utf8Char (or &Utf8Char) to an iterator of u8s.
Is equivalent to calling .flat_map() on the original iterator, but the returned iterator is ~40% faster.
iter_units
Converts an iterator of Utf16Char (or &Utf16Char) to an iterator of u16s.
Is equivalent to calling .flat_map() on the original iterator, but the returned iterator is about twice as fast.