A wide string Rust library for converting to and from wide strings, such as
those often used in Windows API or other FFI libaries. Both u16
and u32
string types are
provided, including support for UTF-16 and UTF-32, malformed encoding, C-style strings, etc.
Macros for converting string literals to UTF-16 and UTF-32 strings at compile time are also included.
Requires Rust 1.58 or greater. If you need support for older versions of Rust, use 0.x versions of this crate.
-
alloc
- Enabled by default. Enable use of thealloc
crate when not using thestd
library.This enables the owned string types and aliases.
-
std
- Enabled by default. Enable features that depend on the Ruststd
library, including everything in thealloc
feature.
This library is distributed under the terms of either of:
- MIT License (http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
at your option.
This project is REUSE-compliant. Copyrights are retained by their contributors. Some files may include explicit copyright notices and/or license SPDX identifiers. For full authorship information, see the version control history.
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.