#unicode #UTF-8 #UTF-16

no-std encode_unicode

UTF-8 and UTF-16 character types, iterators and related methods for char, u8 and u16

11 releases

0.3.5 Oct 23, 2018
0.3.4 Oct 23, 2018
0.3.2 Aug 8, 2018
0.3.1 Jun 16, 2017
0.1.3 Apr 7, 2016

#41 in Encoding

Download history 1597/week @ 2018-10-11 2261/week @ 2018-10-18 1954/week @ 2018-10-25 2296/week @ 2018-11-01 2134/week @ 2018-11-08 1987/week @ 2018-11-15 2269/week @ 2018-11-22 1517/week @ 2018-11-29 1578/week @ 2018-12-06 2200/week @ 2018-12-13 1770/week @ 2018-12-20 1736/week @ 2018-12-27 2198/week @ 2019-01-03

8,783 downloads per month
Used in 180 crates (6 directly)

MIT/Apache

138KB
2K SLoC

encode_unicode

UTF-8 and UTF-16 character types, iterators and related methods for char, u8 and u16.

crates.io page

Features

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

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.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

History

The original purpose of this crate was to provide standins for the then unstable encode_utf8() and encode_utf16().
The standins were removed in 0.3 when Rust 1.15 stabilized the encode_ methods, but the other stuff I added, such as iterators like those `encode_utf{8,16}() returned for a while, might still be of use.

Dependencies