从Rust中的标准输入读取原始字节

未解决的密码

我试图从Rust的标准输入中读取字节。下面的代码非常适合由常规字符组成的行,但是对于没有关联字符(例如0xe0)的原始字节,这会使程序出现紧急情况。文档说它将以换行符终止,但没有提及非字符字节的任何问题。

编辑:我实际上错过了,它确实说所有字节都必须是UTF-8编码的-我可以使用另一个功能来做到这一点吗?

    let mut input = String::new();
    io::stdin().read_line(&mut input)
        .ok()
        .expect("Couldn't read line");   
未解决的密码

事实证明,Stdin实现了Read特质,因此我能够使用bytes方法:

for i in io::stdin().bytes() {
    println!("read byte {}", i.unwrap());
}

通过检查每个字节直到它成为所需的字节,可以打破此循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章