#utf-8 #iterator #unicode

utf8_iter

在 &[u8] 中对可能无效的 UTF-8 进行按字符迭代的迭代器

5 个稳定版本

1.0.4 2023 年 12 月 1 日
1.0.3 2022 年 9 月 9 日
1.0.1 2022 年 7 月 19 日
1.0.0 2022 年 4 月 19 日

文本处理 中排名第 354

Download history 18388/week @ 2024-03-14 17430/week @ 2024-03-21 14613/week @ 2024-03-28 16143/week @ 2024-04-04 20556/week @ 2024-04-11 21252/week @ 2024-04-18 15217/week @ 2024-04-25 18116/week @ 2024-05-02 15075/week @ 2024-05-09 16875/week @ 2024-05-16 20459/week @ 2024-05-23 18161/week @ 2024-05-30 265750/week @ 2024-06-06 568966/week @ 2024-06-13 241779/week @ 2024-06-20 144185/week @ 2024-06-27

每月下载量 1,223,756
用于 162 Crates(5 个直接使用)

Apache-2.0 OR MIT

27KB
444 行(不包括注释)

utf8_iter

crates.io docs.rs

utf8_iter 通过 char 提供对可能无效的 UTF-8 的迭代,使 UTF-8 错误的处理符合 WHATWG 编码标准。

提供按 Result<char,Utf8CharsError> 迭代,作为区分输入中出现的 U+FFFD 和 UTF-8 错误的替代方案。

还提供了一个类似于 str 上同名方法的 char_indices() 实现。

代码的关键部分是从 encoding_rs 中的 UTF-8 到 UTF-16 转换代码复制粘贴的,该代码针对有效输入进行了优化。这里的实现使用了在 encoding_rs 上下文中发现的速度快的结构,但这个结构在这个上下文中尚未进行基准测试。

这是一个 no_std Crates。

许可协议

TL;DR: Apache-2.0 OR MIT

请参阅名为 COPYRIGHT 的文件。

文档

在线生成的 API 文档 可用。

发行说明

1.0.4

  • 添加了 Result<char,Utf8CharsError> 的迭代。

1.0.3

  • 修复了文档中的一个错误。

1.0.2

  • char_indices() 实现。

1.0.1

  • as_slice() 方法。
  • 实现了 DoubleEndedIterator

1.0.0

初始发布。

无运行时依赖