Beginning Rustの「基本データ」の第6章に0~255までのu8形式の整数を文字表示できる整数の範囲から表示するのに、以下のようなコードが出てきますが、
fn main() {
    for n in 32..127 {
        println!("{}: [{}]", n, n as u8 as char);
    }
    for n in 160..256 {
        println!("{}: [{}]", n, n as u8 as char);
    }
}ここで、
n as u8 as char
の代わりに、
どの数(u8以外)でも一文字に変換したいときには、char::from_u32()を使えとあって、それを使うと以下のようなコードになります。
fn main() {
    for n in 32..127 {
        println!("{}: [{}]", n, char::from_u32(n).unwrap());
    }
    for n in 160..256 {
        println!("{}: [{}]", n, n as u8 as char);
    }
}char::from_u32()関数の解説は、
https://doc.rust-lang.org/core/primitive.char.html#method.from_u32
にあるように戻りの形はSome()なので、中身を取り出すためにunwrap()を使っています。オリジナルよりもこの方が見やすいように思います、処理速度は遅くなりそうですが。
admin
