当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust escape_default用法及代码示例


本文简要介绍rust语言中 Function std::ascii::escape_default 的用法。

用法

pub fn escape_default(c: u8) -> EscapeDefault

返回生成 u8 的转义版本的迭代器。

选择默认值时偏向于生成在各种语言中合法的文字,包括 C++11 和类似的C-family 语言。确切的规则是:

  • Tab 转义为 \t
  • 回车转义为 \r
  • 换行符被转义为 \n
  • 单引号被转义为 \'
  • 双引号被转义为 \"
  • 反斜杠转义为 \\
  • 'printable ASCII' 范围 0x20 .. 0x7e 包括在内的任何字符都不会转义。
  • 任何其他字符都以'\xNN' 形式给出十六进制转义。
  • 此函数永远不会生成 Unicode 转义。

例子

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());

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Function std::ascii::escape_default。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。