escape-bytes
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
..=0x7e
is 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.
Examples
Escape
let str = b"hello\xc3world";
let escaped = escape;
assert_eq!;
Unescape
let escaped = br"hello\xc3world";
let unescaped = unescape?;
assert_eq!;
License: Apache-2.0