【问题标题】:Convert binary data read from a file to an uint32 array将从文件读取的二进制数据转换为 uint32 数组
【发布时间】:2025-12-23 17:45:11
【问题描述】:

我有一个二进制文件,当被 python 读取时,它会创建一个 uint8 数据数组。如何使用 numpy(或任何方法)将其转换为 uint32 数组?目前我通过读取 4 个连续的 uint8 数据位置并使用 shift 和 ors 来构建 uin32 数组,但这似乎很草率。

【问题讨论】:

  • 你考虑过使用struct吗?
  • 你是如何阅读这个文件的?
  • 从未想过使用结构,但这是个好主意。谢谢
  • 如果使用fromfile,我想你可以指定uint32 dtype。

标签: python arrays numpy type-conversion


【解决方案1】:

numpy.ndarray.view 能解决你的问题吗:

np.array([1,2,3,4,5,6,7,8], dtype=np.uint8).view(np.uint32)

【讨论】: