encode_unicode

A rust library for converting between UTF-8, UTF-16 and UTF-32 characters.

Latest version: 1.0.0 registry icon
Maintenance score
0
Safety score
0
Popularity score
71
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High Critical
1.0.0 0 0 0 0 0
0.3.6 0 0 0 0 0
0.3.5 0 0 0 0 0
0.3.4 0 0 0 0 0
0.3.3 0 0 0 0 0
0.3.2 0 0 0 0 0
0.3.1 0 0 0 0 0
0.3.0 0 0 0 0 0
0.2.0 0 0 0 0 0
0.1.3 0 0 0 0 0
0.1.2 0 0 0 0 0
0.1.1 0 0 0 0 0
0.1.0 0 0 0 0 0

Stability
Latest release:

1.0.0 - This version may not be safe as it has not been updated for a long time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

Apache-2.0   -   Apache License 2.0

Not a wildcard

Not proprietary

OSI Compliant


MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant



encode_unicode

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

crates.io page License: Apache-2 or MIT Documentation on docs.rs CI build status

Features

Minimum supported Rust version

The minimum supported Rust version for 1.0.* releases is 1.56.
Later 1.y.0 releases might require newer Rust versions, but the three most recent stable releases at the time of publishing will always be supported. For example this means that if the current stable Rust version is 1.66 when encode_unicode 1.1.0 is released, then encode_unicode 1.1.* will not require a newer Rust version than 1.63.

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.

Developing

do.sh can be used to check all feature combinations, test everything, show output from benchmarks in case setup fails, run fuzz tests for a while and lint everything (except fuzz tests).
It assumes rustup is installed and that cargo +release works.
(It is named the way it is to autocomplete fully from the first character after ./.)

History

The original purpose of this crate was to provide standins for the then unstable encode_utf8() and encode_utf16() methods on char.
The standins were removed in version 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.