代码之家  ›  专栏  ›  技术社区  ›  Sheldon

如何使用numpy将uint32整数写入4字节序列?

  •  0
  • Sheldon  · 技术社区  · 7 年前

    我声明了一个包含单个无符号整数的numpy ndarray:

    import numpy as np  
    foo=np.array([3600000],dtype='uint32')
    

    我想把这个数组存储成一个4字节的序列。 我已经测试了一些选项,比如struct。pack()和struct。将_打包到()方法中,但无效。 我也试过numpy。恩达雷。tobytes()方法,该方法将数组的内容转换为字节对象:

    bar=np.ndarray.tobytes(foo)
    

    唉,输出字节对象的长度是4位! 如何控制输出字节序列的位数?

    非常感谢你的帮助!

    1 回复  |  直到 7 年前
        1
  •  0
  •   Sheldon    7 年前

    正如Warren Weckesser所指出的,一个 bytes 对象的单位是字节,而不是位。 所以在这种情况下, bar 确实有4个字节的长度。

    推荐文章