#unicode-characters #utf-16 #utf-8 #unicode

no-std encode_unicode

UTF-8 和 UTF-16 字符类型、迭代器和与 char、u8 和 u16 相关的方法

13 个版本 (1 个稳定版本)

1.0.0 2022 年 8 月 7 日
0.3.6 2019 年 8 月 23 日
0.3.5 2018 年 10 月 23 日
0.3.2 2018 年 8 月 8 日
0.1.3 2016 年 4 月 7 日

编码 中排名第 142

Download history 400737/week @ 2024-04-21 371511/week @ 2024-04-28 363887/week @ 2024-05-05 419288/week @ 2024-05-12 419515/week @ 2024-05-19 401337/week @ 2024-05-26 431865/week @ 2024-06-02 449361/week @ 2024-06-09 428425/week @ 2024-06-16 437242/week @ 2024-06-23 409879/week @ 2024-06-30 460841/week @ 2024-07-07 450928/week @ 2024-07-14 484153/week @ 2024-07-21 453508/week @ 2024-07-28 464974/week @ 2024-08-04

每月下载量 1,877,380
4,803 铁砧中使用 (直接使用 18 个)

Apache-2.0 OR MIT

155KB
2K SLoC

encode_unicode

UTF-8 和 UTF-16 字符类型,迭代器和与 charu8u16 相关的方法。

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

特性

最低支持的 Rust 版本

1.0.* 版本的最低支持的 Rust 版本为 1.56。
之后的 1.y.0 版本可能需要更新的 Rust 版本,但在发布时的三个最新稳定版本将始终得到支持。例如,这意味着如果当 encode_unicode 1.1.0 发布时当前的稳定 Rust 版本是 1.66,那么 encode_unicode 1.1.* 不需要比 1.63 更新的 Rust 版本。

可选功能

  • #![no_std]-模式:有一些区别
    • Error 不存在,但 description() 被作为一个内置的 impl 提供。
    • Extend/FromIterator 对于 String/Vec<u8>/Vec<u16> 的实现是缺失的。
    • 没有 io,因此 Utf8IteratorUtf8CharSplitter 没有实现 Read。这个功能可以通过在 Cargo.toml 中设置 default-features=false 来启用: encode_unicode = {version="0.3.4", default-features=false}
  • ascii crate 的集成:将 Utf8CharUtf16Char 转换为和从 ascii::AsciiChar

许可证

许可方式为以下之一

由您选择。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义,您提交的任何有意包含在作品中的贡献都将如上所述双重许可,不附加任何额外条款或条件。

开发

do.sh 可以用来检查所有功能组合,测试一切,在设置失败时显示基准测试的输出,运行一段时间的模糊测试,并检查所有内容(除了模糊测试)。
它假定已经安装了 rustup,并且 cargo +release 可以正常工作。
(这个名字是为了在 ./ 之后完全自动完成。)

历史

此 crate 的原始目的是提供对当时不稳定的 encode_utf8()encode_utf16() 方法在 char 上的替代。
在0.3版本中移除了standins,因为Rust 1.15稳定了encode_方法,但我添加的其他功能,例如那些返回的类似迭代器encode_utf{8,16}()可能仍然有用。

依赖关系