如何解决对于 u8 字节,是否有像 char::escape_default 这样的函数?
Rust 标准库有一个 char::escape_default
函数,如果它是可打印的,它将打印文字字符,或者一个合理的转义序列(\n
、\u{XXXX}
等)如果不是。
字节有等价物吗?具体来说,如果可打印,我希望它返回文字字节,否则返回 byte 转义序列 (\xNN
)。
解决方法
标准库有一个 std::ascii::escape_default
函数可以满足这个用例:
fn main() {
let x = String::from_utf8(
"The compiler said “you have an error!”."
.bytes()
.flat_map(|b| std::ascii::escape_default(b))
.collect::<Vec<u8>>(),)
.unwrap();
println!("{}",x);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。