如何制作 [u8; 11] 出 "hello world"?
How to make a [u8; 11] out of "hello world"?
这个有效:
pub const HELLO_WORLD: [u8] = "hello world".to_string().as_bytes();
但我需要它是一个 [u8; 11]
以便我可以进行简单的字节匹配,例如:
if buf[4..15] != HELLO_WORLD {
(这是检查文件格式中的“魔术”字符串。)
有没有办法声明:
pub const HELLO_WORLD: [u8; 11] = "hello world".to_string().as_bytes();
那不会导致错误? (&[u8; 11]
也可以,它具有固定长度的类型,这很重要。)
Rust 有字节字符串字面量,它类似于字符串字面量但以 b
为前缀。 b"hello world"
会给你一个 &[u8; 11]
.
这个有效:
pub const HELLO_WORLD: [u8] = "hello world".to_string().as_bytes();
但我需要它是一个 [u8; 11]
以便我可以进行简单的字节匹配,例如:
if buf[4..15] != HELLO_WORLD {
(这是检查文件格式中的“魔术”字符串。)
有没有办法声明:
pub const HELLO_WORLD: [u8; 11] = "hello world".to_string().as_bytes();
那不会导致错误? (&[u8; 11]
也可以,它具有固定长度的类型,这很重要。)
Rust 有字节字符串字面量,它类似于字符串字面量但以 b
为前缀。 b"hello world"
会给你一个 &[u8; 11]
.