#escaping #string-literal #string

unescaper

Unescape strings with escape sequences written out as literal characters

8 releases

0.1.8 Dec 10, 2025
0.1.6 May 2, 2025
0.1.5 Jun 26, 2024
0.1.4 Jan 23, 2024
0.1.1 Aug 9, 2022

#60 in Text processing

Download history 146341/week @ 2025-10-23 128249/week @ 2025-10-30 132236/week @ 2025-11-06 147041/week @ 2025-11-13 162673/week @ 2025-11-20 119513/week @ 2025-11-27 144692/week @ 2025-12-04 158443/week @ 2025-12-11 118171/week @ 2025-12-18 76344/week @ 2025-12-25 104830/week @ 2026-01-01 185260/week @ 2026-01-08 164644/week @ 2026-01-15 171812/week @ 2026-01-22 182114/week @ 2026-01-29 171015/week @ 2026-02-05

729,156 downloads per month
Used in 636 crates (23 directly)

GPL-3.0/MIT

19KB
192 lines

Unescaper

Unescape strings with escape sequences written out as literal characters.

License GPLv3 License MIT Checks GitHub tag (latest by date) GitHub code lines GitHub last commit

Usage

More Examples

fn main() {
	assert_eq!(unescaper::unescape(r"\u000a").unwrap(), "\n");
	assert_eq!(unescaper::unescape(r"\u{a}").unwrap(), "\n");
	assert_eq!(unescaper::unescape(r"\x0a").unwrap(), "\n");
	assert_eq!(unescaper::unescape(r"\12").unwrap(), "\n");
}

Thanks

The idea comes from unescape-rs.
The last commit of that repository was seven years ago.
So, I think it is no longer maintained.
That's why I created this repository, and I have made some improvements.

Dependencies

~135–510KB
~12K SLoC