Python 中的 fromhex 格式的解释

explanation of fromhex format in Python

我正在查看 Python 代码,其中有一行如下:

the_text = bytearray.fromhex('{:0256x}'.format(random.getrandbits(16*8)))

谁能解释一下右手的表情,它的作用是什么?我假设它应该生成一些随机数据,但是 {:0256x} 做什么?

{:0256x} 部分由 .format() 方法解释。

它被传递给.format()的参数值所取代,:0256x告诉格式取一个数值并将其表示为十六进制,至少使用256个位置。

例如 f'{100:02x}' 将打印为 64f'{100:04x}'0064f'{100:01x}' 仍将打印为 64,因为它不适合一个十六进制数字。

在您的情况下,无论 random.getrandbits(16*8) 的值是什么,都将变成(至少)256 个字符的十六进制表示形式,然后 .fromhex() 变成字节数组。它永远不会更多,因为 random.getrandbits(16*8) 只会生成可以使用 256 个十六进制位置显示的值。

{:0256x}表示如果你的号码的他x十进制字符串表示少于256个字符,将用0

补齐