#escaping #string

no-std unescape_zero_copy

无需分配内存来转义字符串

9 个稳定版本

2.1.1 2024 年 8 月 3 日
2.0.1 2024 年 7 月 28 日
1.2.1 2024 年 7 月 23 日

432Rust 模式

Download history 265/week @ 2024-07-15 245/week @ 2024-07-22 319/week @ 2024-07-29 37/week @ 2024-08-05

每月下载量 866

MIT 许可证

17KB
293 行代码(不包括注释)

转义(零拷贝)

Crates.io MIT License

使用 C 风格转义序列转义字符串,尽量减少内存复制。其他包(例如 unescaper)喜欢为每个字符串分配内存,但大多数字符串不需要转义,因此可以原样返回。这个库就是这样做的。

它还支持自定义转义序列解析器,而不是标准的 C 风格转义序列;一个例子可以在 tests/lua_escapes.rs 中找到,使用库来解析 Lua 转义序列。

通过返回迭代器来支持 no_std,或者可以返回一个 Cow,它根据需要使用 stdalloc 功能(默认启用 std)分配。

用法

assert_eq!(unescape_zero_copy::unescape_default(r"Hello\x0aworld").unwrap(), "Hello\nworld");

许可证

代码以 MIT 许可证发布。

无运行时依赖