【问题标题】:python equivalent of DataView(originalSize.buffer).getUint32(0, true);?python 等效于 DataView(originalSize.buffer).getUint32(0, true);?
【发布时间】:2021-05-24 16:59:50
【问题描述】:

我有一个数组[ 16 125 7 0 0 0 0 0],它是一个 uint8 数组(无符号 8 位整数数组)。

我想把它转换成一个小端数。

执行此操作的 javascript 函数是 size = new DataView(originalSize.buffer).getUint32(0, true);

但我想在 python 中使用类似的方法。

所需的输出是490768

在 python 中可以做到这一点吗?

【问题讨论】:

    标签: javascript python node.js cryptojs pycrypto


    【解决方案1】:

    在 python 中,你可以使用struct 模块来处理这种事情:

    >>> import struct
    >>> a = [16, 125, 7, 0, 0, 0, 0, 0]
    >>> struct.unpack('<q', bytearray(a))
    (490768,)
    

    【讨论】:

    • 就像一个魅力,但你如何只得到第一个元组?那是490768。我只想要这个
    • @ShaunMenezes: unpack 总是返回一个元组,所以你必须result, = ...unpack(注意逗号)或result = ...unpack(..)[0]
    猜你喜欢
    • 1970-01-01
    • 2018-05-20
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多