Function std::ascii::escape_default 1.0.0[−][src]
pub fn escape_default(c: u8) -> EscapeDefaultⓘNotable traits for EscapeDefaultimpl Iterator for EscapeDefault type Item = u8;
Expand description
返回一个迭代器,该迭代器生成 u8
的转义版本。
选择默认值时会偏向于生成在多种语言 (包括 C++ 11 和类似的 C 系列语言) 中都合法的字面量。 确切的规则是:
- 制表符被转义为
\t
。 - 回车符被转义为
\r
。 - 换行符转为
\n
。 - 单引号转义为
\'
。 - 双引号转义为
\"
。 - 反斜杠转义为
\\
。 可打印 ASCII
范围0x20
.. 中的任何字符0x7e
(含0x7e
) 不会转义。- 任何其他字符都以 ‘\xNN’ 形式给出十六进制转义。
- 此函数从不生成 Unicode 转义。
Examples
use std::ascii; let escaped = ascii::escape_default(b'0').next().unwrap(); assert_eq!(b'0', escaped); let mut escaped = ascii::escape_default(b'\t'); assert_eq!(b'\\', escaped.next().unwrap()); assert_eq!(b't', escaped.next().unwrap()); let mut escaped = ascii::escape_default(b'\r'); assert_eq!(b'\\', escaped.next().unwrap()); assert_eq!(b'r', escaped.next().unwrap()); let mut escaped = ascii::escape_default(b'\n'); assert_eq!(b'\\', escaped.next().unwrap()); assert_eq!(b'n', escaped.next().unwrap()); let mut escaped = ascii::escape_default(b'\''); assert_eq!(b'\\', escaped.next().unwrap()); assert_eq!(b'\'', escaped.next().unwrap()); let mut escaped = ascii::escape_default(b'"'); assert_eq!(b'\\', escaped.next().unwrap()); assert_eq!(b'"', escaped.next().unwrap()); let mut escaped = ascii::escape_default(b'\\'); assert_eq!(b'\\', escaped.next().unwrap()); assert_eq!(b'\\', escaped.next().unwrap()); let mut escaped = ascii::escape_default(b'\x9d'); assert_eq!(b'\\', escaped.next().unwrap()); assert_eq!(b'x', escaped.next().unwrap()); assert_eq!(b'9', escaped.next().unwrap()); assert_eq!(b'd', escaped.next().unwrap());Run