将ascii字符串文字转换为Rust中的&[u8]?

And*_*ner 19 string rust

如何将ascii字符串文字(例如"123 458")转换为生锈的&[u8]切片?Rust有6个?7?字符串类型,你调用它们之间的转换几乎没有统一性.

我期待它成为:

let array:&[u8] = Ascii("123 456").into_bytes().as_slice().givemetheeffingbufferalready() as &[u8];
Run Code Online (Sandbox Code Playgroud)

请相信我确实需要这样做; 我正在为一些文件解析器代码编写测试用例.

And*_*ner 31

经过深入挖掘其他相关答案,并通过编译器的夜间版本得到纠正后,我发现它是微不足道的; 你只需在你的文字中添加一个'b':

let array:&[u8] = b"123 456";
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,你的原始尝试可以改写为`let array ="123456".as_bytes()",就这么简单:)这不会检查asciiness,当然,它会返回UTF-8字节序列.如果你需要一个静态数组,字节文字是要走的路. (18认同)