Rust是否具有与Python';s unichr()函数?

Rust是否具有与Python';s unichr()函数?,rust,Rust,Python具有(或Python3中的chr())函数,该函数接受一个整数并返回一个具有该数字的Unicode代码点的字符。Rust是否具有等效的功能?当然可以,尽管它是一个内置的运算符,如: let c: char = 97 as char; println!("{}", c); // prints "a" 请注意,由于运算符仅适用于u8数字,其他内容将导致编译错误: let c: char = 97u32 as char; // error: only `u8` can be cas

Python具有(或Python3中的
chr()
)函数,该函数接受一个整数并返回一个具有该数字的Unicode代码点的字符。Rust是否具有等效的功能?

当然可以,尽管它是一个内置的运算符
,如

let c: char = 97 as char;
println!("{}", c);   // prints "a"
请注意,
由于
运算符仅适用于
u8
数字,其他内容将导致编译错误:

let c: char = 97u32 as char;  // error: only `u8` can be cast as `char`, not `u32`
如果需要字符串(完全模拟Python函数),请使用
来\u string()

还有一个功能:

use std::char;
let c: Option<char> = char::from_u32(97);
使用std::char;
设c:Option=char::from_32(97);
它返回一个
选项
,因为不是每个数字都是有效的Unicode码点-唯一有效的数字是0x0000到0xD7FF以及0xE000到0x10FFFF。此函数适用于比char更大的值集,并且可以转换大于一个字节的数字,从而提供对整个Unicode代码点范围的访问


我编译了一个。

非常有趣
让c4=0xd801作为char;普林顿!(“{:?}”,c4)与警告一起工作。它工作不正确-它将
0xd801
解释为
u8
,将值包装为
1u8
,并将其转换为
char
。是一个演示。对,我只是说它发出警告并返回一个值。
use std::char;
let c: Option<char> = char::from_u32(97);