Unescapes strings with C-style escape sequences, written to minimize memory
copying. Other crates (e.g. unescaper
)
like to allocate memory for every string, but most strings don't need any
unescaping and so can be returned as-is. This library does that.
It supports custom escape sequence parsers intead of the standard C-style escape
sequences as well; an example of this can be found in
tests/lua_escapes.rs
, using the library to parse Lua
escape sequences.
Supports no_std
by returning an iterator, or can return a Cow
that allocates
as needed with the std
or alloc
feature (std
is enabled by default).
assert_eq!(unescape_zero_copy::unescape_default(r"Hello\x0aworld").unwrap(), "Hello\nworld");
The code is released under the MIT license.