使用时 println! 按预期工作:
println!
println!("ÐÑивеÑ!"); // ÐÑивеÑ!
但是,对于调试格式:
println!("{:?}", "ÐÑивеÑ!"); // "\u{41f}\u{440}\u{438}\u{432}\u{435}\u{442}!"
使用 assert! :
assert!
assert!("ÐÑивеÑ!" != "ÐÑивеÑ!") // 'assertion failed: "\u{41f}\u{440}\u{438}\u{432}\u{435}\u{442}!" != "\u{41f}\u{440}\u{438}\u{432}\u{435}\u{442}!"
有没有办法 明确肯定 以调试格式正确打印?
明确肯定
就Rust而言 是 对的实施 Debug 对于 str 将其自身限制为可打印的ASCII字符,以便无论代码页或输出机制如何,输出都是可读的。
Debug
str
我不相信你能做什么来改变这个字符串 一般来说 ; 根据具体情况,您可以使用 Display 或者创建一个包装 &str 转发给 陈列 而不是 调试 .
Display
&str
陈列
调试