2 个不稳定版本
0.3.0 | 2023年3月23日 |
---|---|
0.2.2 | 2022年11月8日 |
0.2.1 |
|
0.2.0 |
|
0.1.0 |
|
#322 在 编码
250,452 每月下载量
在 417 个 crate 中使用 (11 直接)
13KB
201 行
newline-converter
newline-converter
是一个简单的库,用于在字符串之间转换 Windows \r\n
和 Unix \n
风格的换行符。它主要作为 Rust Newline converter CLI 工具的后端。
换行符处理方法的比较
newline-converter (此 crate)
- ✅ 正确处理边缘情况,例如孤立的
\r
字符。例如,在调用unix2dos
后,\r\n
序列不会变成\r\r\n
use newline_converter::unix2dos; assert_eq!( unix2dos("\nfoo\r\nbar\n"), "\r\nfoo\rbar\n" );
- ✅ 当输入数据较小时(少量带行中断的文本字节)性能最快。
- ❌ 当处理大型数据集时(例如 100 段 Lorem Ipsum 文本)性能最慢(或者在
unix2dos
的情况下是第二慢)。
string.replace
- ❌ 在
unix2dos
中未能正确处理边缘情况。 - ✅ 在大型数据集上表现良好。
regex crate Regex::replace_all
- ❌ 由于缺乏对 look around 的支持,在
unix2dos
中未能正确处理边缘情况。 - ✅ 在大型数据集上有最佳性能。
fancy-regex crate Regex::replace_all
- ✅ 正确处理边缘情况。
- ❌ 由于使用了 look around,
unix2dos
在所有实现中性能最差,慢了一个数量级。
请查看 benches/bench.rs
以获取比较基准测试。
MSRV
最低支持的 Rust 版本是 1.38.0
。
依赖关系
~555KB