ps4 - ¿Rust tiene un equivalente a la función unichr() de Python?
rust traduccion (1)
Python tiene una función unichr()
(o chr()
en Python 3) que toma un número entero y devuelve un carácter con el punto de código Unicode de ese número. ¿Rust tiene una función equivalente?
Puede encontrar más información sobre unichr()
aquí:
Claro, aunque es un operador integrado as
:
let c: char = 97 as char;
println!("{}", c); // prints "a"
Tenga en cuenta que as
operador solo funciona para los números u8
, algo más causará un error de compilación:
let c: char = 97u32 as char; // error: only `u8` can be cast as `char`, not `u32`
Si necesita una cadena (para emular completamente la función de Python), use to_string()
:
let s: String = (97 as char).to_string();
También hay char::from_u32
función char::from_u32
:
use std::char;
let c: Option<char> = char::from_u32(97);
Devuelve Option<char>
porque no todos los números son un punto de código Unicode válido: los únicos números válidos son 0x0000 a 0xD7FF y de 0xE000 a 0x10FFFF. Esta función es aplicable a un conjunto de valores más grande que as char
y puede convertir números de un byte más grande, lo que le proporciona acceso a todo el rango de puntos de código Unicode.
He compilado un conjunto de ejemplos en Playpen aquí .