如何在 Rust 中获取 char 的 UTF-8 索引

cap*_*ian 1 utf-8 char rust

我对生锈还很陌生。如何在 Rust 中获取 char 符号的 UTF-8 索引。

这里有一个对 utf 表的引用。

let bracket = '[';

fn get_utf(c:&[u8])->&str{
  // don't know how to obtain utf index
}

let result = get_utf(bracket); // 005B
Run Code Online (Sandbox Code Playgroud)

我尝试了这个功能,但它没有按照我期望的方式工作。

这个箱子可能有用,但我不知道如何使用它。

抱歉,我的努力不够。

kmd*_*eko 5

Rust 中的Achar表示Unicode 标量值。您可以使用as将其转换为u32

let bracket = '[';
let result = bracket as u32;

println!("{:04X}", result); // prints "005B"
Run Code Online (Sandbox Code Playgroud)

另请参阅:如何获取 char 的 unicode 值?

  • 由于 OP 对 Rust 来说是新的,并且想要将值赋给变量,这可能支持答案:`let result = format!("{:04X}",括号为 u32);` (4认同)