13 个版本 (2 个稳定)
2.0.0 | 2022年10月11日 |
---|---|
1.0.0 | 2022年1月22日 |
0.4.0 | 2020年11月20日 |
0.3.2 | 2019年11月5日 |
0.2.2 | 2017年7月5日 |
#33 in 解析器实现
1,845,924 每月下载量
用于 1,374 个crate (86 直接)
29KB
367 行
atoi-rs
在安全代码中直接从 [u8]
切片中解析整数
使用此crate的原因
从二进制或ascii格式开始,您可以解析整数,速度比通过utf8的更传统的方法快约三倍。该crate附带基准测试,您可以亲自查看。
FromRadix10Checked
trait 还提供了一种非常快速且安全地解析整数的方法,因为它的实现仅对可能溢出的单个数字执行检查运算。
示例
从切片解析
use atoi::atoi;
assert_eq!(Some(42), atoi::<u32>(b"42"));
注意,如果您想了解使用了多少输入,可以使用 FromRadix10
trait,例如
use atoi::FromRadix10;
/// Return the parsed integer and remaining slice if successful.
fn atoi_with_rest<I: FromRadix10>(text: &[u8]) -> Option<(&[u8], I)> {
match I::from_radix_10(text) {
(_, 0) => None,
(n, used) => Some((&[used..], n)),
}
}
依赖关系
~155KB