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