Python具有unichr()
(或Python 3中的chr()
)函数,它接受一个整数并返回一个Unicode代码点为该数字的字符。 Rust有相同的功能吗?
答案 0 :(得分:13)
当然,虽然它是一个内置的运算符as
:
let c: char = 97 as char;
println!("{}", c); // prints "a"
请注意,as
运算符仅适用于u8
个数字,否则会导致编译错误:
let c: char = 97u32 as char; // error: only `u8` can be cast as `char`, not `u32`
如果您需要一个字符串(以完全模拟Python函数),请使用to_string()
:
let s: String = (97 as char).to_string();
还有char::from_u32
功能:
use std::char;
let c: Option<char> = char::from_u32(97);
它返回Option<char>
因为并非每个数字都是有效的Unicode代码点 - 唯一有效的数字是0x0000到0xD7FF,从0xE000到0x10FFFF。此函数适用于比as char
更大的值集,并且可以转换大于一个字节的数字,从而可以访问整个Unicode代码点。