二进制编码 python 中的 Little endian

我一般使用golang来实现,需要实现一个python项目。我有以下说明(Golang)


import "encoding/binary"

arBytes := make([]byte, 16)

    _, err := rand.Read(arBytes)

    if err != nil {

        return false, err

    }

a0 = binary.LittleEndian.Uint64(arBytes[0:8])

我需要为这些指令编写 python 版本,但我没有找到任何方法从 Uint64 创建一个小字节序数组。是否有任何可用的解决方案可以提供帮助!


猛跑小猪
浏览 166回答 1
1回答

心有法竹

等效的 Python 程序如下所示。用于secrets.token_bytes(16)生成 16 个随机字节,就像rand.Read(arBytes)会的那样。然后int.from_bytes(..., "little")在该字节数组上使用以将字节解释为小端整数。from_bytes默认为无符号值。import secretsb = secrets.token_bytes(16)val = int.from_bytes(b[:8], "little")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go