u8字节有没有像char::escape_default这样的函数?
Is there a function like char::escape_default for u8 bytes?
Rust 标准库有一个 char::escape_default
函数,如果它是可打印的,它将打印文字字符,如果不是,则打印一个合理的转义序列(\n
、\u{XXXX}
等) .
字节是否有等效项?具体来说,如果它是可打印的,我希望它是 return 文字字节,如果不是,我希望它是 return 一个 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);
}
Rust 标准库有一个 char::escape_default
函数,如果它是可打印的,它将打印文字字符,如果不是,则打印一个合理的转义序列(\n
、\u{XXXX}
等) .
字节是否有等效项?具体来说,如果它是可打印的,我希望它是 return 文字字节,如果不是,我希望它是 return 一个 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);
}