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