是否有以十六进制表示法声明字符文字的语法?

Is there syntax for declaring character literals in hexadecimal notation?

类似

const X: char = '0x10FFFC';

是,使用 \u{..}:

const X: char = '\u{10FFFC}';

Playground

这种情况下的一个技巧是使用编译器。如果你尝试下面的代码,它会给你一个很好的提示,告诉你该怎么做,例如:

const X: char = 0x10FFFC as char;
error: only `u8` can be cast into `char`
 --> src/lib.rs:1:17
  |
1 | const X: char = 0x10FFFC as char;
  |                 ^^^^^^^^^^^^^^^^ help: use a `char` literal instead: `'\u{10FFFC}'`
  |
  = note: `#[deny(overflowing_literals)]` on by default