Rust是否具有Python的unichr()函数?

时间:2015-05-29 13:45:38

标签: rust

Python具有unichr()(或Python 3中的chr())函数,它接受一个整数并返回一个Unicode代码点为该数字的字符。 Rust有相同的功能吗?

1 个答案:

答案 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代码点。

我已经编译了set of examples on the Playground