Escapes bytes that are not printable ASCII characters.
The exact rules are:
- Nul is escaped as
\0. - Tab is escaped as
\t. - Line feed is escaped as
\n. - Carriage return is escaed as
\r. - Backslach is escaped as
\\. - Any character in the printable ASCII range
0x20..=0x7eis not escaped. - Any other character is hex escaped in the form
\xNN.
Intended for use where byte sequences are not valid ASCII or UTF-8 but need to be stored in a semi-human readable form where only ASCII or UTF-8 are permitted.
let str = b"hello\xc3world";
let escaped = escape_bytes::escape(str);
assert_eq!(escaped, br"hello\xc3world");let escaped = br"hello\xc3world";
let unescaped = escape_bytes::unescape(escaped)?;
assert_eq!(unescaped, b"hello\xc3world");License: Apache-2.0