【Rust】[i32; n]からStringへの変換と、String(chars)から[i32; n]への変換

[i32; 10]からStringへの変換

    let mut bf = BloomFilter { filter: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]};
    bf.set_v("hello world".to_string());
    println!("{:?}", bf.filter);

    let mut bloom_str = String::new();
    for i in bf.filter {
        bloom_str = format!("{}{}", bloom_str, i);
    }
    println!("{}", bloom_str);

String(chars)から[i32; n]への変換

    let str = "2201211222".to_string();
    let mut filter:[i32;10] = [0,0,0,0,0,0,0,0,0,0];
    for (i,c) in str.chars().enumerate() {
        filter[i] = (c.to_string()).parse::<i32>().unwrap();
    }
    println!("{:?}", filter);

[2, 2, 0, 1, 2, 1, 1, 2, 2, 2]

websocketで、send_textはあるけど、send_binary, sendしかなく、配列の送り方が不明なので、[i32; n]を文字列に変換して、受け取った側で、[i32; n]に戻すという処理にしている。
うーん、 なんか