【问题标题】:How to convert [u8] to [u32]? [closed]如何将 [u8] 转换为 [u32]? [关闭]
【发布时间】:2022-02-02 14:55:44
【问题描述】:

我想将图像嵌入到我的二进制文件中并使用“include_bytes”宏。我想使用的 GUI 库只接受 [u32] 作为输入,而上述宏只产生 [u8]。

如何将 [u8] 转换为 [u32]?我在互联网上看到了一些,但解释对我来说有点过于技术性(我只是自学)。我看到了几个选项,比如标准库中的“u32”中的按位和方法。任何人都可以提供有关如何执行此操作的实际代码吗?就像从那里研究它,以防我将来需要它用于其他文件。谢谢你。我几乎总是通过代码来理解事物,因为我不知道许多技术术语、算法等。

【问题讨论】:

    标签: image rust type-conversion bytestream


    【解决方案1】:

    使用.map(Into::<u32>::into)

    fn main() {
        assert_eq!([0_u8, 1_u8].map(Into::<u32>::into), [0_u32, 1_u32]);
    }
    

    【讨论】:

    • 这主要取决于表示。不是说这是错误的。但如果你有再见,也许u32 是实际的前 4 个字节 (u8),第二个是接下来的 4 个字节,依此类推。
    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多