Crates.io | encode_unicode |
lib.rs | encode_unicode |
version | 1.0.0 |
source | src |
created_at | 2016-04-07 00:11:28.00716 |
updated_at | 2022-08-07 14:19:49.238999 |
description | UTF-8 and UTF-16 character types, iterators and related methods for char, u8 and u16. |
homepage | |
repository | https://github.com/tormol/encode_unicode |
max_upload_size | |
id | 4691 |
size | 233,100 |
UTF-8 and UTF-16 character types, iterators and related methods for char
, u8
and u16
.
Utf8Char
:
A char
stored as UTF-8. Can be borrowed as a str
or u8
slice.Utf16Char
:
A char
stored as UTF-16. Can be borrowed as an u16
slice.char
:
[u8; 4]
or slice.(u16, Option<u16>)
or slice.u8
s and Utf8Char
s or u16
s and Utf16Char
s.u32
fails.u8
and u16
.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.
#![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.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}
.Utf8Char
and Utf16Char
to and from ascii::AsciiChar
.Licensed under either of
at your option.
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.
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 ./
.)
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.