當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。