【问题标题】:How to write Cyrillic text when using the debugging format?使用调试格式时如何编写西里尔文?
【发布时间】:2016-02-08 07:55:42
【问题描述】:

虽然使用 println! 可以按预期工作:

println!("Привет!"); // Привет!

但是使用调试格式:

println!("{:?}", "Привет!"); // "\u{41f}\u{440}\u{438}\u{432}\u{435}\u{442}!"

使用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}!"

有没有办法让assert! 以调试格式正确打印?

【问题讨论】:

    标签: rust cyrillic


    【解决方案1】:

    就 Rust 而言,它正确的。 Debugstr 的实现将自身限制为可打印的 ASCII 字符,因此无论代码页或输出机制如何,输出都是可读的。

    我不相信你可以做任何事情来改变字符串一般;根据具体情况,您可以改用Display,或者在&str 周围创建一个包装器,将其转发到Display 而不是Debug

    【讨论】:

      猜你喜欢
      • 2016-03-08
      • 2021-12-30
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多