如何制作 [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].