4个版本
0.5.3 | 2024年6月8日 |
---|---|
0.5.2 | 2022年8月24日 |
0.5.1 | 2021年8月16日 |
0.5.0 | 2020年4月17日 |
#413 in 编码
13KB
216 行
escape8259
执行RFC8259兼容的字符串转义和反转义。
RFC8259是一个JSON编码标准。存在许多JSON编码器,但其他RFC使用相同的字符串转义机制,因此能够单独访问字符串转义函数很有用。
示例
use escape8259::{escape, unescape};
let s = "A null (\0) and a double-quote (\")";
assert_eq!(escape(s), r#"A null (\u0000) and a double-quote (\")"#);
let crab = r#"This is a crab: \ud83e\udd80"#;
assert_eq!(unescape(crab).unwrap(), "This is a crab: 🦀");
// We accept encodings that weren't really necessary.
assert_eq!(unescape(r#"\u0041\n"#).unwrap(), "A\n");
let multiline = r#"hello
world"#;
assert_eq!(escape(multiline), r#"hello\n world"#);
lib.rs
:
escape8259
执行RFC8259兼容的字符串转义和反转义。
RFC8259是一个JSON编码标准。存在许多JSON编码器,但其他RFC使用相同的字符串转义机制,因此能够单独访问字符串转义函数很有用。
示例
use escape8259::{escape, unescape};
let s = "A null (\0) and a double-quote (\")";
assert_eq!(escape(s), r#"A null (\u0000) and a double-quote (\")"#);
let crab = r#"This is a crab: \ud83e\udd80"#;
assert_eq!(unescape(crab).unwrap(), "This is a crab: 🦀");
// We accept encodings that weren't really necessary.
assert_eq!(unescape(r#"\u0041\n"#).unwrap(), "A\n");
let multiline = r#"hello
world"#;
assert_eq!(escape(multiline), r#"hello\n world"#);