[][src]Crate encode_unicode

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.